답안 #39143

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
39143 2018-01-09T13:43:31 Z faustaadp 선물상자 (IOI15_boxes) C++14
100 / 100
487 ms 78668 KB
//#include "boxes.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,k,l,i,hs,hz,j,L,R,c1,c2;
unsigned int a[10101010];
ll rct(ll aa,ll bb)
{
	if(bb==-1)
		return 0;
	if(a[aa]*2<=l&&l<=a[bb]*2)
		return l;
	else
	if(a[bb]*2<=l)
		return a[bb]*2;
	else
		return (l-a[aa])*2;		
}
ll rmt(ll aa)
{
	hz=rct(0,aa);
    j=aa;
   	while(1)
   	{
   		if(j+k<n-1)
   		{
   			hz+=rct(j+1,j+k);
   			/*if(a[j+1]*2<=l&&l<=a[j+k])
   				hz+=l;
   			else
   			if(a[j+1]*2<=l)
   				hz+=a[j+k]*2;
   			else
   				hz+=(l-a[j+1])*2;*/
    		j+=k;
		}
   		else
   		{
   			hz+=rct(j+1,n-1);
   			/*if(a[j+1]*2<=l&&l<=a[n-1])
   				hz+=l;
   			else
   			if(a[j+1]*2<=l)
   				hz+=a[n-1]*2;
   			else
   				hz+=(l-a[j+1])*2;*/
   			break;
		}
	}
	return hz;
}
long long delivery(int N, int K, int L, int p[]) {
	n=N;
	k=K;
	l=L;	
	for(i=0;i<n;i++)
		a[i]=p[i];
	hs=10e17;
	//L=-1;
	//R=min(k,n);
	//while(L<=R)
	for(i=-1;i<min(k,n);i++)
	{
		hs=min(hs,rmt(i));
	}
	return hs;
}
/*
int main()
{
	int n,k,l,i,a[101010];
	cin>>n>>k>>l;
	for(i=0;i<n;i++)
		cin>>a[i];
	cout<<delivery(n,k,l,a)<<"\n";
}
*/

Compilation message

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:52:48: warning: declaration of 'L' shadows a global declaration [-Wshadow]
 long long delivery(int N, int K, int L, int p[]) {
                                                ^
boxes.cpp:5:20: note: shadowed declaration is here
 ll n,k,l,i,hs,hz,j,L,R,c1,c2;
                    ^
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 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 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 380 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 256 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 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 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 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 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 380 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 256 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Correct 2 ms 256 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 256 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 256 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 256 KB Output is correct
20 Correct 2 ms 376 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 256 KB Output is correct
23 Correct 2 ms 348 KB Output is correct
24 Correct 2 ms 252 KB Output is correct
25 Correct 2 ms 256 KB Output is correct
26 Correct 2 ms 420 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 252 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 376 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 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 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 380 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 256 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Correct 2 ms 256 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 256 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 256 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 256 KB Output is correct
20 Correct 2 ms 376 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 256 KB Output is correct
23 Correct 2 ms 348 KB Output is correct
24 Correct 2 ms 252 KB Output is correct
25 Correct 2 ms 256 KB Output is correct
26 Correct 2 ms 420 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 252 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 376 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 256 KB Output is correct
33 Correct 42 ms 8160 KB Output is correct
34 Correct 18 ms 8156 KB Output is correct
35 Correct 19 ms 8156 KB Output is correct
36 Correct 40 ms 8184 KB Output is correct
37 Correct 43 ms 8188 KB Output is correct
38 Correct 40 ms 8184 KB Output is correct
39 Correct 38 ms 8184 KB Output is correct
40 Correct 23 ms 8168 KB Output is correct
41 Correct 41 ms 8168 KB Output is correct
42 Correct 23 ms 8184 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 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 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 380 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 256 KB Output is correct
11 Correct 2 ms 256 KB Output is correct
12 Correct 2 ms 256 KB Output is correct
13 Correct 2 ms 376 KB Output is correct
14 Correct 2 ms 256 KB Output is correct
15 Correct 2 ms 376 KB Output is correct
16 Correct 2 ms 256 KB Output is correct
17 Correct 2 ms 256 KB Output is correct
18 Correct 2 ms 256 KB Output is correct
19 Correct 2 ms 256 KB Output is correct
20 Correct 2 ms 376 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 2 ms 256 KB Output is correct
23 Correct 2 ms 348 KB Output is correct
24 Correct 2 ms 252 KB Output is correct
25 Correct 2 ms 256 KB Output is correct
26 Correct 2 ms 420 KB Output is correct
27 Correct 2 ms 376 KB Output is correct
28 Correct 2 ms 252 KB Output is correct
29 Correct 2 ms 376 KB Output is correct
30 Correct 2 ms 376 KB Output is correct
31 Correct 2 ms 376 KB Output is correct
32 Correct 2 ms 256 KB Output is correct
33 Correct 42 ms 8160 KB Output is correct
34 Correct 18 ms 8156 KB Output is correct
35 Correct 19 ms 8156 KB Output is correct
36 Correct 40 ms 8184 KB Output is correct
37 Correct 43 ms 8188 KB Output is correct
38 Correct 40 ms 8184 KB Output is correct
39 Correct 38 ms 8184 KB Output is correct
40 Correct 23 ms 8168 KB Output is correct
41 Correct 41 ms 8168 KB Output is correct
42 Correct 23 ms 8184 KB Output is correct
43 Correct 391 ms 78584 KB Output is correct
44 Correct 161 ms 78612 KB Output is correct
45 Correct 187 ms 78604 KB Output is correct
46 Correct 409 ms 78664 KB Output is correct
47 Correct 404 ms 78660 KB Output is correct
48 Correct 487 ms 78660 KB Output is correct
49 Correct 347 ms 78592 KB Output is correct
50 Correct 211 ms 78668 KB Output is correct
51 Correct 418 ms 78556 KB Output is correct
52 Correct 221 ms 78668 KB Output is correct