Submission #30983

# Submission time Handle Problem Language Result Execution time Memory
30983 2017-08-03T04:10:16 Z kajebiii Boxes with souvenirs (IOI15_boxes) C++14
10 / 100
2 ms 376 KB
#include "boxes.h"
#include <bits/stdc++.h>

using namespace std;

#define SZ(v) ((int)(v).size())
#define ALL(v) (v).begin(),(v).end()
#define one first
#define two second
typedef long long ll;
typedef pair<double, double> pd;
typedef pair<int, int> pi;
typedef pair<ll, int> pli;
typedef pair<ll, ll> pll; typedef pair<ll, pi> plp;
typedef tuple<int, int, int> ti; typedef tuple<ll, int, int> tli;
const int INF = 0x3f2f1f0f;
const ll LINF = 1ll * INF * INF * 2;

int N, K, L;
deque<int> Ps;
ll delivery(int n, int k, int l, int p[]) {
    N = n; K = k; L = l;
    for(int i=0; i<N; i++) Ps.push_back(p[i]);
    while(SZ(Ps) > 0 && Ps.front() == 0) Ps.pop_front();

    ll ans = 0;
    while(SZ(Ps) > 0) {
        int lix = min(K-1, SZ(Ps)-1);
        if(Ps[lix] <= L/2) {
            ans += Ps[lix] * 2;
            for(int i=0; i<=lix; i++) Ps.pop_front();
        }else break;
    }
    while(SZ(Ps) > 0) {
        int rix = max(SZ(Ps)-K, 0);
        if(Ps[rix] >= (L+1)/2) {
            ans += (L - Ps[rix]) * 2;
            for(int i=SZ(Ps)-1; i>=rix; i--) Ps.pop_back();
        }else break;
    }
    if(SZ(Ps) > 0) {
        ans += L;
        if(SZ(Ps) <= K) ans += L;
        else{
            ans += L;
            int lix = K;
            int rix = SZ(Ps) - K - 1;
            ans += min(Ps[lix] * 2, (L - Ps[rix]) * 2);
        }
    }

    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 256 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 256 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 256 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Incorrect 2 ms 256 KB Output isn't correct
9 Halted 0 ms 0 KB -