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

Tests(0/11):


#include <bits/stdc++.h> using namespace std; long long ans,n,k,f[1097][1097]; struct book { long long 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(long long 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(long long i=n-1;i>=n-k;i--) { ans=min(ans,f[i][n-k]); } cout<<ans; return 0; }


测评信息: