# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
882354 | 2023-12-03T05:05:02 Z | Requiem | Potatoes and fertilizers (LMIO19_bulves) | C++17 | 1 ms | 4444 KB |
#include<bits/stdc++.h> #define int long long #define pb push_back #define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); #define MOD 1000000007 #define INF 1e18 #define fi first #define se second #define endl "\n" #define FOR(i,a,b) for(int i=a;i<=b;i++) #define FORD(i,a,b) for(int i=a;i>=b;i--) #define sz(a) ((int)(a).size()) #define pi 3.14159265359 #define TASKNAME "bulves" template<typename T> bool maximize(T &res, const T &val) { if (res < val){ res = val; return true; }; return false; } template<typename T> bool minimize(T &res, const T &val) { if (res > val){ res = val; return true; }; return false; } using namespace std; typedef pair<int,int> ii; typedef pair<int,ii> iii; typedef vector<int> vi; const int MAXN = 5e5 + 9; int n; int a[MAXN],b[MAXN],A,B; namespace sub1 { void solve(){ int ans = 0, bring = 0; for(int i=1;i<=n;i++){ ans += abs(bring); if (a[i] == b[i]) continue; if (a[i] < b[i]) bring -= b[i] - a[i]; else bring += a[i] - b[i]; } } } namespace sub5{ int dif[MAXN]; void solve(){ priority_queue<int> pq; int ans = 0; int d = 0; for(int i=1;i<=n;i++){ dif[i] = dif[i-1] + a[i] - b[i]; } pq.push(dif[1]); for(int i=2;i<n;i++){ if (dif[i] < 0) ans -= dif[i], dif[i] = 0; if (dif[i] > pq.top()){ pq.push(dif[i]); } else{ ans += pq.top() - dif[i]; pq.push(dif[i]); pq.push(dif[i]); pq.pop(); } } cout<<ans<<endl; } } main() { fast; if (fopen(TASKNAME".inp","r")){ freopen(TASKNAME".inp","r",stdin); freopen(TASKNAME".out","w",stdout); } cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]>>b[i]; A += a[i]; B += b[i]; } assert(A >= B); sub5::solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4444 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |