제출 #1346075

#제출 시각아이디문제언어결과실행 시간메모리
1346075settopPPP (EGOI23_ppp)C++20
36 / 100
3089 ms1114112 KiB
#include<bits/stdc++.h>

using namespace std;

#define int long long
#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define pb push_back
#define F first
#define all(x) x.begin(),x.end()
#define S second
#define sz(x) (int)x.size()
const int MAXN=3e5+10;

typedef pair<int,int> pii;

map<int,int> mp[MAXN];
int n,m,ans[MAXN];
vector<pii> v[MAXN];

int32_t main(){
    std::ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin>>n>>m;
    fall(i,0,m-1){
        int x,y; cin>>x>>y;
        for(auto [u,j]:v[y]){
            mp[u][y]+=i-j;
            v[x].pb({u,i});
        }
        v[y].clear();
        v[x].pb({i,i});
    }
    fall(i,0,n-1)
        for(auto [u,j]:v[i]) mp[u][i]+=m-j;
    
    fall(i,0,m-1){
        int mx=0,id=0;
        for(auto [u,j]:mp[i]){
            if(j>mx || (j==mx && u<id)) mx=j,id=u;
        }
        ans[id]++;
    }
    fall(i,0,n-1) cout<<ans[i]<<" ";
    cout<<"\n";
}
#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...