Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
149060 唐钧 书架问题2 C++ 解答错误 0 0 MS 604 KB 635 2024-05-25 15:51:02

Tests(0/11):


#include <bits/stdc++.h> using namespace std; int ans,n,k,f[1097][1097]; struct book { int high,wide; }a[100097]; bool cmp(book x,book y) { return x.high<y.high; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].high>>a[i].wide; } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++) { for(int j=2;j<=min(i,n-k);j++) { f[i][j]=0x3f3f3f3f; for(int x=j-1;x<i;x++) { f[i][j]=min(f[i][j],f[x][j-1]+abs(a[x].wide-a[i].high)); } } } ans=f[n][n-k]; for(int i=n-1;i>=n-k;i--) { ans=min(ans,f[i][n-k]); } cout<<ans; return 0; }


测评信息: