0099:Surf Smelt Fishing Contest II
問題文
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0099
優先順位付きキューを上手に使う問題。
#include<iostream> #include<vector> #include<queue> #include<algorithm> using namespace std; typedef pair<int,int> P; int main(void){ int n,q,cnt[1000001]; priority_queue<P>que; que.push(P(0,-1)); fill(cnt,cnt+1000001,0); cin >> n >> q; while(q--){ int a,v; cin >> a >> v; cnt[a]+=v; que.push(P(cnt[a],-a)); while(true){ P res=que.top(); if(res.first==cnt[-res.second]){ cout << -res.second << " " << res.first << endl; break; } que.pop(); } } return 0; }