Submission #561579

#TimeUsernameProblemLanguageResultExecution timeMemory
561579hibikiCoin Collecting (JOI19_ho_t4)C++11
100 / 100
72 ms8780 KiB
#include<bits/stdc++.h> using namespace std; int n; long long ans = 0ll; int cnt[200005][5]; int main() { memset(cnt,-1,sizeof(cnt)); scanf("%d",&n); for(int i = 0; i < 2*n; i++) { int x,y; scanf("%d %d",&x,&y); if(x > n) ans += x - n, x = n; if(x < 1) ans += 1 - x, x = 1; if(y > 2) ans += y - 2, y = 2; if(y < 1) ans += 1 - y, y = 1; cnt[x][y]++; } for(int i = 1; i <= n; i++) { int want = 0; if(cnt[i][1] > 0 && cnt[i][2] < 0) { // can give, need want = min(cnt[i][1],-cnt[i][2]); ans += want; cnt[i][1] -= want; cnt[i][2] += want; } if(cnt[i][1] < 0 && cnt[i][2] > 0) { want = min(cnt[i][2],-cnt[i][1]); ans += want; cnt[i][1] += want; cnt[i][2] -= want; } ans += abs(cnt[i][1]) + abs(cnt[i][2]); cnt[i + 1][1] += cnt[i][1]; cnt[i + 1][2] += cnt[i][2]; } printf("%lld\n",ans); return 0; }

Compilation message (stderr)

joi2019_ho_t4.cpp: In function 'int main()':
joi2019_ho_t4.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
joi2019_ho_t4.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         scanf("%d %d",&x,&y);
      |         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...