Submission #941445

#TimeUsernameProblemLanguageResultExecution timeMemory
941445Programmer123Rectangles (IOI19_rect)C++17
10 / 100
4 ms504 KiB
#include "rect.h"

long long count_rectangles(std::vector<std::vector<int> > a) {
    int N = a.size();
    int M = a[0].size();
    long long ans = 0;
    if (N == 3) {
        bool works[M];
        works[0] = false;
        works[M - 1] = false;
        for (int i = 1; i < M - 1; ++i) {
            works[i] = a[1][i] < a[0][i] && a[1][i] < a[2][i];
        }
        for (int l = 1; l < M - 1; ++l) {
            if (!works[l]) continue;
            int max = a[1][l];
            for (int r = l; r < M - 1; ++r) {
                if (!works[r]) break;
                max = std::max(max, a[1][r]);
                if (max >= a[1][l - 1]) break;
                if (max >= a[1][r + 1]) continue;
                ans++;
            }
        }
    }
    return ans;
}
#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...