Submission #1362943

#TimeUsernameProblemLanguageResultExecution timeMemory
1362943FZ_LaabidiPPP (EGOI23_ppp)C++20
16 / 100
485 ms1114112 KiB
#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
signed main(){
    int n; cin >> n;
    int m; cin >> m;
    vector<pair<int, int>> xi(m);
    for(int i=0; i<m; i++)cin >> xi[i].F >> xi[i].S;
    vector<vector<int>> medals (m, vector<int> (m, -1));
    for(int i=0; i<m; i++){
        if(i>0){
            for(int j = 0; j<m; j++)medals[j][i] = medals[j][i-1];
        }
        medals[i][i] = xi[i].F;
        if(i>0){
            for(int j = 0; j<m; j++){
                if(medals[j][i-1]==xi[i].S)medals[j][i] = xi[i].F;
            }
        }
    }
    vector<map<int, int>> freqs(m);
    for(int i=0; i<m; i++){
        for(int j=i; j<m; j++){
            freqs[i][medals[i][j]]++;
        }
    }
    vector<int>whoiswho(m, -1);
    for(int i=0; i<m; i++){
        int j = 0;
        for(auto it: freqs[i]){
            if(it.S>freqs[i][j])j = it.F;
        }
        whoiswho[i]= j;
    }
    map<int, int> freq;
    for(int i=0; i<m; i++){
        freq[whoiswho[i]]++;
    }
    for(int i=0; i<n; i++){
        cout << freq[i] << " ";
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...