Submission #478556

#TimeUsernameProblemLanguageResultExecution timeMemory
478556Mackerel_PikeCoin Collecting (JOI19_ho_t4)C++14
100 / 100
50 ms1476 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 5; int n; long long ans = 0; int cnt[maxn][3]; int main(){ //freopen("c.in", "r", stdin); //freopen("c.out", "w", stdout); scanf("%d", &n); for(int i = 0; i < n * 2; ++i){ int x, y; scanf("%d%d", &x, &y); int nx = max(1, min(n, x)), ny = max(1, min(2, y)); ++cnt[nx][ny], ans += abs(nx - x) + abs(ny - y); } for(int i = 1; i <= n; ++i){ if(cnt[i][1] < 1 && cnt[i][2] > 1){ int res = min(1 - cnt[i][1], cnt[i][2] - 1); ans += res, cnt[i][2] -= res, cnt[i][1] += res; } if(cnt[i][2] < 1 && cnt[i][1] > 1){ int res = min(1 - cnt[i][2], cnt[i][1] - 1); ans += res, cnt[i][1] -= res, cnt[i][2] += res; } ans += abs(cnt[i][1] - 1), cnt[i + 1][1] += cnt[i][1] - 1, cnt[i][1] = 1; ans += abs(cnt[i][2] - 1), cnt[i + 1][2] += cnt[i][2] - 1, cnt[i][2] = 1; } printf("%lld\n", ans); return 0; }

Compilation message (stderr)

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