Submission #783728

# Submission time Handle Problem Language Result Execution time Memory
783728 2023-07-15T09:04:04 Z boris_mihov Potatoes and fertilizers (LMIO19_bulves) C++17
20 / 100
569 ms 1260 KB
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
#include <iostream>
#include <numeric>
#include <cassert>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <set>

typedef long long llong;
const int MAXN = 500000 + 10;
const int MAXAB = 30000 + 10;
const llong INF = 1e18;
const int INTINF = 1e9;

int abs(int num)
{
    if (num < 0) return -num;
    return num;
}

llong abs(llong num)
{
    if (num < 0) return -num;
    return num;
}

int n;
int sum;
int c[MAXN];
llong dp[2][2*MAXAB];

int sumA;
int sumB;
void solve()
{
    assert(sumA < MAXAB);
    assert(sumB < MAXAB);
    for (int i = 0 ; i < 2 * MAXAB ; ++i)
    {
        dp[(n + 1) & 1][i] = INF;
    }

    dp[(n + 1) & 1][MAXAB] = 0;
    for (int pos = n ; pos >= 1 ; --pos)
    {
        for (int bal = 2 * MAXAB - 1 ; bal >= 0 ; --bal)
        {
            dp[pos & 1][bal] = INF;
            if (bal + 1 < 2 * MAXAB)
            {
                dp[pos & 1][bal] = dp[pos & 1][bal + 1];
            }

            if (bal - c[pos] >= 0)
            {
                dp[pos & 1][bal] = std::min(dp[pos & 1][bal], dp[(pos + 1) & 1][std::min(bal - c[pos], 2 * MAXAB - 1)] + abs(bal - c[pos] - MAXAB));
            }
        }
    }

    std::cout << dp[1][MAXAB] << '\n';
}

void input()
{
    std::cin >> n;
    for (int i = 1 ; i <= n ; ++i)
    {
        std::cin >> c[i]; sumA += c[i];
        int val; std::cin >> val; sumB += val;
        c[i] -= val;
        sum += c[i];
    }
}

void fastIOI()
{
    std::ios_base :: sync_with_stdio(0);
    std::cout.tie(nullptr);
    std::cin.tie(nullptr);
}

int main()
{
    fastIOI();
    input();
    solve();

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1236 KB Output is correct
2 Correct 569 ms 1260 KB Output is correct
3 Runtime error 1 ms 468 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1236 KB Output is correct
2 Correct 569 ms 1260 KB Output is correct
3 Runtime error 1 ms 468 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1236 KB Output is correct
2 Correct 569 ms 1260 KB Output is correct
3 Correct 2 ms 1236 KB Output is correct
4 Correct 186 ms 1248 KB Output is correct
5 Correct 278 ms 1252 KB Output is correct
6 Correct 553 ms 1260 KB Output is correct
7 Correct 558 ms 1260 KB Output is correct
8 Correct 555 ms 1260 KB Output is correct
9 Correct 554 ms 1260 KB Output is correct
10 Correct 555 ms 1260 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1236 KB Output is correct
2 Correct 569 ms 1260 KB Output is correct
3 Runtime error 1 ms 468 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1236 KB Output is correct
2 Correct 569 ms 1260 KB Output is correct
3 Runtime error 1 ms 468 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -