Submission #127280

# Submission time Handle Problem Language Result Execution time Memory
127280 2019-07-09T07:47:53 Z ekrem Boxes with souvenirs (IOI15_boxes) C++
10 / 100
9 ms 400 KB
#include "boxes.h"
#include <bits/stdc++.h>
#define st first
#define nd second
#define mp make_pair
#define pb push_back
#define sol (k+k)
#define sag (k+k+1)
#define orta ((bas+son)/2)
#define coc g[node][i]
#define mod 1000000007
#define inf 1000000009
#define N 1000005
using namespace std;

typedef long long ll;
typedef pair < int , int > ii;

ll k, l, cvp, ans, bas[N], son[N];

ll ansver(int i, int j){
	return ((i>=0)?bas[i]:0ll) + son[j] + 1ll*(j - i - 1 + k - 1)/k*l;
}

ll delivery(int n, int kk, int ll, int p[]) {k = kk;l = ll;
	for(int i = 0; i < n; i++)
		bas[i] = (i - k >= 0) ? bas[i - k] + p[i]*2ll : p[i]*2ll;
	for(int i = n - 1; i >= 0; i--)
		son[i] = (n > k + i) ? son[i + k] + (l - p[i])*2ll : (l - p[i])*2ll;
	cvp = ans = son[0];
	int opt = 0;
	for(int i = -1; i < n; i++){
		// int bas = i + 1, son = n;
		// while(bas < son){
		// 	if(ansver(i, orta) >= ansver(i, orta + 1))
		// 		bas = orta + 1;
		// 	else
		// 		son = orta;
		// }
		for(int j = max(i + 1, opt); j <= n; j += k){
			// cout << i << " " << j << " = " << ansver(i, j) << endl;
			if(ansver(i, j) <= cvp){
				cvp = ansver(i, j);
				opt = j;
			}
		}
		// cout << i << " " << opt << " " << cvp << endl;
		ans = min(ans, cvp);
	}
    return ans;
}

Compilation message

boxes.cpp: In function 'll delivery(int, int, int, int*)':
boxes.cpp:25:43: warning: declaration of 'll' shadows a global declaration [-Wshadow]
 ll delivery(int n, int kk, int ll, int p[]) {k = kk;l = ll;
                                           ^
boxes.cpp:16:19: note: shadowed declaration is here
 typedef long long ll;
                   ^~
boxes.cpp:40:42: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
   for(int j = max(i + 1, opt); j <= n; j += k){
                                        ~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 7 ms 376 KB Output is correct
4 Correct 6 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 9 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 380 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Output is correct
2 Correct 2 ms 400 KB Output is correct
3 Correct 2 ms 296 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Incorrect 2 ms 352 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 7 ms 376 KB Output is correct
4 Correct 6 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 9 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Incorrect 2 ms 380 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 7 ms 376 KB Output is correct
4 Correct 6 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 9 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Incorrect 2 ms 380 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 7 ms 376 KB Output is correct
3 Correct 7 ms 376 KB Output is correct
4 Correct 6 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 3 ms 376 KB Output is correct
7 Correct 9 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 2 ms 376 KB Output is correct
12 Incorrect 2 ms 380 KB Output isn't correct
13 Halted 0 ms 0 KB -