Submission #18851

#TimeUsernameProblemLanguageResultExecution timeMemory
18851pichulia컬러볼 (KOI15_ball)C++98
25 / 25
130 ms5000 KiB
#include<stdio.h> #include<algorithm> using namespace std; typedef pair<int, int> pii; typedef pair<pii, int> piii; int n, m = 2000; piii a[200009]; int s[3000]; int b[200009]; int r[200009]; int main() { int i, j, k; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d",&a[i].first.second,&a[i].first.first); s[a[i].first.first] += a[i].first.first; a[i].second = i; } for(i=1; i<=m; i++) s[i] += s[i-1]; sort(a,a+n); for(i=0; i<n; ) { for(j=i+1;j<n;j++) if(a[i].first.first != a[j].first.first) break; for(k=i;k<j;k++) { r[a[k].second] = s[a[k].first.first - 1] - b[a[k].first.second]; } for(k=i;k<j;k++) b[a[k].first.second] += a[k].first.first; i=j; } for(i=0;i<n;i++) printf("%d\n",r[i]); }
#Verdict Execution timeMemoryGrader output
Fetching results...