제출 #1331314

#제출 시각아이디문제언어결과실행 시간메모리
1331314edoBOI Acronym (BOI25_boi)C++20
100 / 100
84 ms14248 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

int M[2002][2002];
bool is[2002];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    cin >> n;
    for(int i = 1; i <= n; ++i) 
        for(int j = i; j <= n; ++j) 
            cin >> M[i][j];
    // BOOBBIBBIB
    // BOOOBBIBIBBIOOOBIBOOIBBBIOIIIB

    int f = 0;
    while(f < n && M[f + 1][n] == M[1][n]) f++;

    int l = n;
    while(l > 1 && M[1][l - 1] == M[1][n]) l--;

    is[f] = is[l] = 1;
    for(int i = f + 1; i < l; i++) {
        if(M[f][i - 1] > M[f + 1][i - 1]) {
            if(M[f][i] > M[f][i - 1]) is[i] = 1;
        }
        else if(M[i + 1][l] > M[i + 1][l - 1]) {
            if(M[i][l] > M[i + 1][l]) is[i] = 1;
        }
        else {
            if(M[f + 1][i] == M[f + 1][i - 1] && M[i][l - 1] == M[i + 1][l - 1]) is[i] = 1;
        }
    }

    for(int i = 1; i <= n; i++) 
        if(is[i]) cout << i << " ";

    return 0;
}


#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...