Submission #68644

#TimeUsernameProblemLanguageResultExecution timeMemory
68644FLDutchmanBoxes with souvenirs (IOI15_boxes)C++14
10 / 100
2 ms380 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

typedef int INT;

#define int long long
#define FOR(i,l,r) for(int i = (l); i < (r); i++)
#define fst first
#define snd second
#define pb push_back

typedef vector<int> vi;
typedef pair<int,int> ii;
typedef vector<ii> vii;


long long delivery(INT N, INT K, INT L, INT p[]) {
    vi a, b;
    a.pb(0);
    b.pb(0);
    FOR(i, 0, N) a.pb(p[i]);
    for(int i = N-1; i >=0; i--) b.pb(L-p[i]);
    FOR(i, K, a.size()) a[i] += a[i-K];
    FOR(i, K, b.size()) b[i] += b[i-K];
    int best = 1e18;
    FOR(i, 0, a.size()) best = min(best, a[i] + b[N-i]); 
    return 2*best;
}

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(INT, INT, INT, INT*)':
boxes.cpp:8:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define FOR(i,l,r) for(int i = (l); i < (r); i++)
                                       ^
boxes.cpp:24:5: note: in expansion of macro 'FOR'
     FOR(i, K, a.size()) a[i] += a[i-K];
     ^~~
boxes.cpp:8:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define FOR(i,l,r) for(int i = (l); i < (r); i++)
                                       ^
boxes.cpp:25:5: note: in expansion of macro 'FOR'
     FOR(i, K, b.size()) b[i] += b[i-K];
     ^~~
boxes.cpp:8:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define FOR(i,l,r) for(int i = (l); i < (r); i++)
                                       ^
boxes.cpp:27:5: note: in expansion of macro 'FOR'
     FOR(i, 0, a.size()) best = min(best, a[i] + b[N-i]); 
     ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...