Submission #331800

#TimeUsernameProblemLanguageResultExecution timeMemory
331800arnold518Coin Collecting (JOI19_ho_t4)C++14
100 / 100
88 ms8940 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 2e5; int N; int A[MAXN+10][10]; ll ans=0; int main() { scanf("%d", &N); for(int i=1; i<=N+N; i++) { int x, y; scanf("%d%d", &x, &y); if(x<1) ans+=1-x, x=1; if(x>N) ans+=x-N, x=N; if(y<1) ans+=1-y, y=1; if(y>2) ans+=y-2, y=2; A[x][y]++; } for(int i=1; i<=N; i++) { A[i][1]--; A[i][2]--; } for(int i=1; i<N; i++) { if(A[i][1]>=0 && A[i][2]>=0) { ans+=A[i][1]; ans+=A[i][2]; A[i+1][1]+=A[i][1]; A[i+1][2]+=A[i][2]; } else if(A[i][1]<=0 && A[i][2]<=0) { ans-=A[i][1]; ans-=A[i][2]; A[i+1][1]+=A[i][1]; A[i+1][2]+=A[i][2]; } else if(abs(A[i][1])<=abs(A[i][2])) { ans+=abs(A[i][1]); A[i][2]+=A[i][1]; ans+=abs(A[i][2]); A[i+1][2]+=A[i][2]; } else { ans+=abs(A[i][2]); A[i][1]+=A[i][2]; ans+=abs(A[i][1]); A[i+1][1]+=A[i][1]; } } ans+=abs(A[N][1]); //assert(A[N][1]==0 && A[N][2]==0); printf("%lld\n", ans); }

Compilation message (stderr)

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