제출 #1336896

#제출 시각아이디문제언어결과실행 시간메모리
1336896iq500Grid Coloring (JOI25_ho_t1)C++20
25 / 100
587 ms1114112 KiB
#include<bits/stdc++.h>
#define int long long
#define pb push_back
#define fir first
#define sec second
using namespace std;

signed main(){
    int n; cin>>n;
    int a[n], b[n], g[n][n];
    memset(g, 0, sizeof(g));
    map<int, int> mp;
    for(int i=0; i<n; i++){
        cin>>a[i];
        g[i][0]=a[i];
        mp[a[i]]++;
    }
    for(int i=0; i<n; i++){
        cin>>b[i];
        g[0][i]=b[i];
        mp[b[i]]++;
    }
    mp[a[0]]--;
    for(int i=1; i<n; i++){
        for(int j=1; j<n; j++){
            g[i][j]=max(g[i-1][j], g[i][j-1]);
            mp[g[i][j]]++;
        }
    }
    /*for(int i=0; i<n; i++){
        for(int j=0; j<n; j++) cout<<g[i][j]<<" ";
            cout<<"\n";
    }*/
    int col=0, mx=0;
    for(auto it=mp.begin(); it!=mp.end(); it++){
        int ccol=(*it).fir, cval=(*it).sec;
        //cout<<ccol<<" "<<cval<<"\n";
        if(mx<cval){
            mx=cval;
            col=ccol;
        }
        else if(mx==cval){
            col=max(col, ccol);
        }
    }
    cout<<col<<" "<<mx;
    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...