제출 #1353962

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

using namespace std;

signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    int grid[n][n];
    for(int i = 0;i<n;i++){
        fill(grid[i],grid[i]+n,0);
        for(int j = i;j<n;j++){
            cin >> grid[i][j];
        }
    }
    if(n==1){
        cout << 1;
        return 0;
    }
    int f = -1;
    for(int i = 0;i<n-1;i++){
        if(grid[i][n-1]>grid[i+1][n-1]){
            f=i;
            break;
        }
    }
    int l = n;
    for(int i = n-1;i>=1;i--){
        if(grid[0][i]>grid[0][i-1]){
            l=i;
            break;
        }
    }
    vector<int>ans;
    ans.push_back(f);
    for(int i = f+1;i<l;i++){
        if(grid[f][i]>grid[f+1][i]){
            if(grid[f][i]>grid[f][i-1]){
                ans.push_back(i);
                continue;
            }
        }
        if(grid[i][l]>grid[i][l-1]){
            if(grid[i][l]>grid[i+1][l]){
                ans.push_back(i);
                continue;
            }
        }
        if(grid[f][i]==grid[f+1][i]&&grid[i][l]==grid[i][l-1]){
            if(grid[f+1][i]>grid[f+1][i-1]){
                continue;
            }
            if(grid[i][l-1]>grid[i+1][l-1]){
                continue;
            }
            ans.push_back(i);
        }
    }
    ans.push_back(l);
    for(int i : ans){
        cout << i+1 << " ";
    }
    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…