Submission #1356874

#TimeUsernameProblemLanguageResultExecution timeMemory
1356874IratePotatoes and fertilizers (LMIO19_bulves)C++20
54 / 100
141 ms327680 KiB
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int>a(n + 1), b(n + 1);
    vector<long long>p(n + 1);
    for(int i = 1;i <= n;++i){
        cin >> a[i] >> b[i];
        p[i] = p[i - 1] + (a[i] - b[i]);
    }
    vector<vector<long long>>dp(2, vector<long long>(p[n] + 1));
    for(int i = 1;i < n;++i){
        for(int j = 0;j <= p[n];++j){
            dp[1][j] = dp[0][j] + abs(p[i] - j);
            if(j - 1 >= 0)dp[1][j] = min(dp[1][j], dp[1][j - 1]);
        }
        for(int j = 0;j <= p[n];++j){
            dp[0][j] = dp[1][j];
        }
    }
    cout << dp[0][p[n]];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...