Submission #1294443

#TimeUsernameProblemLanguageResultExecution timeMemory
1294443Jawad_Akbar_JJCoin Collecting (JOI19_ho_t4)C++20
100 / 100
138 ms2000 KiB
#include <iostream> #include <set> using namespace std; #define int long long int a[3][1<<17], Ans; signed main(){ int n; cin>>n; for (int i=1, x, y, X, Y;i<=n + n;i++){ cin>>x>>y; Y = 1 + (y >= 2); X = max(1LL, min(x, n)); a[Y][X]++; Ans += abs(x - X) + abs(y - Y); } for (int i=1;i<=n;i++){ a[1][i]--; a[2][i]--; if (a[1][i] < 0 and a[2][i] > 0){ int k = min(-a[1][i], a[2][i]); a[1][i] += k; a[2][i] -= k; Ans += k; } else if (a[1][i] > 0 and a[2][i] < 0){ int k = min(a[1][i], -a[2][i]); a[1][i] -= k; a[2][i] += k; Ans += k; } Ans += abs(a[1][i]) + abs(a[2][i]); a[1][i+1] += a[1][i], a[2][i+1] += a[2][i]; } cout<<Ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...