제출 #1333681

#제출 시각아이디문제언어결과실행 시간메모리
1333681gelastropodIMO (EGOI25_imo)C++20
0 / 100
0 ms344 KiB
#pragma GCC optimize("O3,inline")
#include <bits/stdc++.h>
using namespace std;
#define int long long

bool comp(vector<int>& a, vector<int>& b) {
    int sa = 0, sb = 0;
    for (int i : a) sa += i;
    for (int i : b) sb += i;
    return sa < sb;
}

signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int N, M, K, a, ans = 0; cin >> N >> M >> K;
    vector<vector<int>> A(N, vector<int>(M, 0));
    vector<int> sums;
    for (int i = 0; i < N; i++) {
        int csum = 0;
        for (int j = 0; j < M; j++) {
            cin >> a;
            A[i][j] = a;
            csum += a;
        }
        sums.push_back(csum);
    }
    sort(A.begin(), A.end(), comp);
    sort(sums.begin(), sums.end());
    for (int i = 0; i < M; i++)
        ans += A[0][i] + (1 - A.back()[i]);
    for (int i = 1; i < N; i++) {
        int s1 = 0, s2 = 0;
        for (int j = 0; j < M; j++) s1 += 1 - A[i - 1][j], s2 += A[i][j];
        ans += min(sums[i] - sums[i - 1], s1 + s2);
    }
    cout << N * M - ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...