답안 #286351

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
286351 2020-08-30T10:18:05 Z SamAnd Shortcut (IOI16_shortcut) C++17
0 / 100
1 ms 384 KB
#include "shortcut.h"
#include <bits/stdc++.h>
using namespace std;
#define m_p make_pair
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
typedef long long ll;
const int N = 502;
const ll INF = 1000000009000000009;

int n;
ll gg;
ll l[N], d[N];

ll p[N], s[N];
ll pp[N], ss[N];
ll pl[N];

long long find_shortcut(int n_, std::vector<int> l_, std::vector<int> d_, int c_)
{
    n = n_;
    for (int i = 1; i < n; ++i)
        l[i] = l_[i - 1];
    for (int i = 1; i <= n; ++i)
        d[i] = d_[i - 1];
    gg = c_;

    for (int i = 1; i <= n; ++i)
    {
        pp[i] = max(pp[i - 1], p[i - 1] + l[i] + d[i]);
        p[i] = max(p[i - 1] + l[i - 1], d[i]);
    }
    for (int i = n; i >= 1; --i)
    {
        ss[i] = max(ss[i + 1], s[i + 1] + l[i] + d[i]);
        s[i] = max(s[i + 1] + l[i], d[i]);
    }
    for (int i = 1; i <= n; ++i)
        pl[i] = pl[i - 1] + l[i - 1];

    ll ans = INF;
    for (int x1 = 1; x1 <= n; ++x1)
    {
        for (int x2 = x1 + 1; x2 <= n; ++x2)
        {
            ll yans = max(pp[x1], ss[x2]);
            ll d1 = d[x1];
            ll d2 = d[x2];
            d[x1] = p[x1];
            d[x2] = s[x2];
            ll u = pl[x2] - pl[x1];
            for (int i = x1; i <= x2; ++i)
            {
                for (int j = i + 1; j <= x2; ++j)
                {
                    yans = max(yans,
                               d[i] + d[j] + min(p[j] - p[i], u - (p[j] - p[i]) + gg));
                }
            }
            d[x1] = d1;
            d[x2] = d2;
            ans = min(ans, yans);
        }
    }

    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB n = 4, 80 is a correct answer
2 Correct 0 ms 384 KB n = 9, 110 is a correct answer
3 Correct 0 ms 384 KB n = 4, 21 is a correct answer
4 Correct 1 ms 384 KB n = 3, 4 is a correct answer
5 Correct 1 ms 384 KB n = 2, 62 is a correct answer
6 Correct 1 ms 384 KB n = 2, 3 is a correct answer
7 Correct 1 ms 384 KB n = 3, 29 is a correct answer
8 Correct 1 ms 384 KB n = 2, 3 is a correct answer
9 Correct 0 ms 384 KB n = 2, 3 is a correct answer
10 Correct 0 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 1 ms 384 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 0 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 0 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 0 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 0 ms 384 KB n = 5, 4000000000 is a correct answer
17 Incorrect 0 ms 384 KB n = 10, incorrect answer: jury 1000000343 vs contestant 1000000000
18 Halted 0 ms 0 KB -