Submission #1176849

#TimeUsernameProblemLanguageResultExecution timeMemory
1176849ericl23302Aliens (IOI16_aliens)C++20
0 / 100
0 ms328 KiB
#include "aliens.h"

// #include <iostream>
using namespace std;
long long take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c) {
    for (int i = 0; i < n; ++i) {
        if (r[i] < c[i]) swap(r[i], c[i]);
    }

    // for (int i = 0; i < n; ++i) cout << r[i] << ' ' << c[i] << "   ";
    // cout << '\n';

    vector<int> minimalColumn(m, m);
    for (int i = 0; i < n; ++i) minimalColumn[r[i]] = min(minimalColumn[r[i]], c[i]);
    int curMin = m;
    long long res = 0, sub = 0;
    for (int i = m - 1; i >= 0; --i) {
        curMin = min(min(curMin, minimalColumn[i]), i + 1);
        res += curMin;
        if (curMin == m) ++sub;
        if (i == 0 && curMin) ++sub;
        // cout << curMin << ' ' << minimalColumn[i] << ' ' << res << ' ' << sub << '\n';
    }

    return ((long long)(m) * m - res * 2 + sub);
}

Compilation message (stderr)

aliens.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
aliens_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...