#10WA求助
查看原帖
#10WA求助
1128877
Abelxxyy楼主2024/4/13 11:39
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
struct Node
{
    int x;
    int y;
    int num;
    Node(){}
    Node(int i,int j)
    {
        x = j;
        y = i;
        cin >> num;
    }
    Node(int i,int j,int k):x(j),y(i),num(k){}
}a[1000060];
int mad(struct Node a,struct Node b)
{
    return abs(a.x - b.x) + abs(a.y - b.y);
}
bool cmp(struct Node a,struct Node b)
{
    return a.num > b.num;
}
int main()
{
    int n,m,k,cnt = 0;
    cin >> n >> m >> k;
    for (int i = 1;i <= n;i++)
    {
        for (int j = 1;j <= m;j++)
        {
            a[++cnt] = Node(i,j);
        }
    }
    sort(a + 1,a + cnt + 1,cmp);
    long long ans = 0;
    Node now(a[1].x,0,0);
    for (int i = 1;i <= cnt;i++)
    {
        if (k >= mad(now,a[i]) + a[i].y + 1)
        {
            k -= mad(now,a[i]);k--;
            ans += a[i].num;
            now = a[i];
        }
        else break;
    }
    cout << ans << endl;
    return 0;
}
2024/4/13 11:39
加载中...