제출 #1348088

#제출 시각아이디문제언어결과실행 시간메모리
1348088edga1BOI Acronym (BOI25_boi)C++20
100 / 100
202 ms14232 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define ll long long
using namespace std;

const int N=2005;
int ma[N][N];

int main()
{
    int n; cin>>n;
    for(int l=1; l<=n; l++){
        for(int r=l; r<=n; r++){
            cin>>ma[l][r];
        }
    }
    if(n==1){
        cout<<"1";
        return 0;
    }
    int m=ma[1][n],r=n,l=1;
    while(ma[1][r]==m) r--;
    r++;
    while(ma[l][n]==m) l++;
    l--;
    vector<int> p;
    for(int i=l+1; i<r; i++){
        if(ma[l+1][i-1]<ma[l][i-1]){
            if(ma[l][i]>ma[l][i-1]) p.pb(i);
        }
        else if(ma[i+1][r]>ma[i+1][r-1]){
            if(ma[i][r]>ma[i+1][r]) p.pb(i);
        }
        else{
            if(ma[l+1][i-1]==ma[l+1][i] && ma[i+1][r-1]==ma[i][r-1]) p.pb(i);
        }
    }
    cout<<l<<' ';
    for(auto a : p) cout<<a<<' ';
    cout<<r;
    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...