답안 #127272

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
127272 2019-07-09T07:44:21 Z ekrem 선물상자 (IOI15_boxes) C++
50 / 100
2000 ms 20196 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;
	ans = son[0];
	for(int i = -1; i < n; i++){
		cvp = son[0]; int opt = 0;
		// 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 = i + 1; 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:32: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
   for(int j = i + 1; j <= n; j += k){
                              ~~^~~~
boxes.cpp:32:21: warning: variable 'opt' set but not used [-Wunused-but-set-variable]
   cvp = son[0]; int opt = 0;
                     ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 10 ms 376 KB Output is correct
3 Correct 10 ms 376 KB Output is correct
4 Correct 10 ms 376 KB Output is correct
5 Correct 10 ms 376 KB Output is correct
6 Correct 10 ms 376 KB Output is correct
7 Correct 9 ms 376 KB Output is correct
# 결과 실행 시간 메모리 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 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 252 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 10 ms 376 KB Output is correct
3 Correct 10 ms 376 KB Output is correct
4 Correct 10 ms 376 KB Output is correct
5 Correct 10 ms 376 KB Output is correct
6 Correct 10 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 Correct 2 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 2 ms 256 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 376 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 376 KB Output is correct
20 Correct 2 ms 256 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 252 KB Output is correct
23 Correct 2 ms 376 KB Output is correct
24 Correct 2 ms 376 KB Output is correct
25 Correct 4 ms 376 KB Output is correct
26 Correct 2 ms 376 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 380 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 396 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 10 ms 376 KB Output is correct
3 Correct 10 ms 376 KB Output is correct
4 Correct 10 ms 376 KB Output is correct
5 Correct 10 ms 376 KB Output is correct
6 Correct 10 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 Correct 2 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 2 ms 256 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 376 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 376 KB Output is correct
20 Correct 2 ms 256 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 252 KB Output is correct
23 Correct 2 ms 376 KB Output is correct
24 Correct 2 ms 376 KB Output is correct
25 Correct 4 ms 376 KB Output is correct
26 Correct 2 ms 376 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 380 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 396 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 376 KB Output is correct
33 Execution timed out 2037 ms 20196 KB Time limit exceeded
34 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 10 ms 376 KB Output is correct
3 Correct 10 ms 376 KB Output is correct
4 Correct 10 ms 376 KB Output is correct
5 Correct 10 ms 376 KB Output is correct
6 Correct 10 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 Correct 2 ms 376 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 376 KB Output is correct
15 Correct 2 ms 256 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 376 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 376 KB Output is correct
20 Correct 2 ms 256 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 252 KB Output is correct
23 Correct 2 ms 376 KB Output is correct
24 Correct 2 ms 376 KB Output is correct
25 Correct 4 ms 376 KB Output is correct
26 Correct 2 ms 376 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 380 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 396 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 376 KB Output is correct
33 Execution timed out 2037 ms 20196 KB Time limit exceeded
34 Halted 0 ms 0 KB -