Submission #1106629

# Submission time Handle Problem Language Result Execution time Memory
1106629 2024-10-30T18:00:11 Z Canuc80k Potatoes and fertilizers (LMIO19_bulves) C++17
44 / 100
65 ms 18512 KB
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;

const ll N = 1e6 + 1;

ll n;
ll a[N], b[N];

namespace sub1 {
    const ll N = 1e6 + 1;
    ll f[N];

    void solve() {
        ll res = 0;
        for (int i = 1; i <= n; i ++) f[i] = f[i - 1] + (a[i] - b[i]);
        for (int i = 1; i <= n; i ++) res += abs(f[i]);
        cout << res;
    }
}

namespace sub4 {
    const ll N = 3e3 + 1;
    ll d[N];
    ll f[(ll)3e4 + 1], of[(ll)3e4 + 1];

    void solve() {
        for (int i = 1; i <= n; i ++) d[i] = d[i - 1] + a[i] - b[i];
        memset(f, 0x3f, sizeof f);
        
        of[0] = 0;
        for (int i = 1; i <= n; i ++) {
            for (int j = 0; j <= d[n]; j ++) {
                if (j != 0) f[j] = f[j - 1];
                f[j] = min(f[j], of[j] + abs(d[i] - j)); 
            }
            for (int j = 0; j <= d[n]; j ++) {
                of[j] = f[j];
                f[j] = 1e18;
            }
        }

        cout << of[d[n]];
    }
}


void doTest(ll testID) {
    cin >> n; ll sa = 0, sb = 0;
    for (int i = 1; i <= n; i ++) {
        cin >> a[i] >> b[i];
        sa += a[i], sb += b[i];
    }
    
    if (sa == sb) {sub1::solve(); return;}
    if (n <= 3e3 && max(sa, sb) <= 3e4) {sub4::solve(); return;}
}

signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0);

    int test = 1; 
    // cin >> test;
    for (int _ = 1; _ <= test; _ ++) doTest(_);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4432 KB Output is correct
2 Correct 1 ms 4432 KB Output is correct
3 Correct 1 ms 4432 KB Output is correct
4 Correct 5 ms 6992 KB Output is correct
5 Correct 10 ms 9296 KB Output is correct
6 Correct 27 ms 12252 KB Output is correct
7 Correct 55 ms 18504 KB Output is correct
8 Correct 46 ms 18508 KB Output is correct
9 Correct 51 ms 18504 KB Output is correct
10 Correct 38 ms 18512 KB Output is correct
11 Correct 43 ms 18504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4432 KB Output is correct
2 Correct 1 ms 4432 KB Output is correct
3 Correct 1 ms 4432 KB Output is correct
4 Correct 5 ms 6992 KB Output is correct
5 Correct 10 ms 9296 KB Output is correct
6 Correct 27 ms 12252 KB Output is correct
7 Correct 55 ms 18504 KB Output is correct
8 Correct 46 ms 18508 KB Output is correct
9 Correct 51 ms 18504 KB Output is correct
10 Correct 38 ms 18512 KB Output is correct
11 Correct 43 ms 18504 KB Output is correct
12 Incorrect 14 ms 8528 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4432 KB Output is correct
2 Correct 1 ms 4432 KB Output is correct
3 Correct 1 ms 4688 KB Output is correct
4 Correct 4 ms 4688 KB Output is correct
5 Correct 14 ms 4688 KB Output is correct
6 Correct 65 ms 4688 KB Output is correct
7 Correct 2 ms 4688 KB Output is correct
8 Correct 6 ms 4856 KB Output is correct
9 Correct 6 ms 4688 KB Output is correct
10 Correct 1 ms 4688 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4432 KB Output is correct
2 Correct 1 ms 4432 KB Output is correct
3 Correct 1 ms 4432 KB Output is correct
4 Correct 1 ms 4688 KB Output is correct
5 Correct 4 ms 4688 KB Output is correct
6 Correct 14 ms 4688 KB Output is correct
7 Correct 65 ms 4688 KB Output is correct
8 Correct 2 ms 4688 KB Output is correct
9 Correct 6 ms 4856 KB Output is correct
10 Correct 6 ms 4688 KB Output is correct
11 Correct 1 ms 4688 KB Output is correct
12 Incorrect 1 ms 4432 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4432 KB Output is correct
2 Correct 1 ms 4432 KB Output is correct
3 Correct 1 ms 4432 KB Output is correct
4 Correct 1 ms 4688 KB Output is correct
5 Correct 4 ms 4688 KB Output is correct
6 Correct 14 ms 4688 KB Output is correct
7 Correct 65 ms 4688 KB Output is correct
8 Correct 2 ms 4688 KB Output is correct
9 Correct 6 ms 4856 KB Output is correct
10 Correct 6 ms 4688 KB Output is correct
11 Correct 5 ms 6992 KB Output is correct
12 Correct 10 ms 9296 KB Output is correct
13 Correct 27 ms 12252 KB Output is correct
14 Correct 55 ms 18504 KB Output is correct
15 Correct 46 ms 18508 KB Output is correct
16 Correct 51 ms 18504 KB Output is correct
17 Correct 38 ms 18512 KB Output is correct
18 Correct 43 ms 18504 KB Output is correct
19 Incorrect 14 ms 8528 KB Output isn't correct
20 Halted 0 ms 0 KB -