| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80636 | sh25_zhuwy | 花生采摘 | C++ | 通过 | 0 MS | 260 KB | 691 | 2026-01-04 15:25:10 |
#include <bits/stdc++.h> using namespace std; int m,n,t; int num[30][30]; int ans; struct E{ int val; int x,y; } a[1000]; int head; bool cmp(E a,E b){ return a.val>b.val; } int main( ){ cin>>n>>m>>t; for(int i=0;i<n;i++) for(int j=0;j<m;j++){ cin>>num[i][j]; a[head].x=j+1; a[head].y=i+1; a[head].val=num[i][j]; head++; } sort(a,a+head,cmp); int now=0; int cost=0; int x=a[0].x; int y=0; for(int i=0;i<head;i++){ int ncost=abs(a[i].x-x)+abs(a[i].y-y)+1; if(cost+ncost>t||cost+ncost+a[i].y>t){ cout<<ans; return 0; } cost+=ncost; x=a[i].x; y=a[i].y; ans+=a[i].val; } cout<<ans<<endl; return 0; }