Submission #344945

# Submission time Handle Problem Language Result Execution time Memory
344945 2021-01-06T19:37:55 Z ogibogi2004 Boxes with souvenirs (IOI15_boxes) C++14
20 / 100
1 ms 384 KB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll ans=2e17;
long long delivery(int N, int K, int L, int p[]) {
	
	vector<ll>xd;
	for(ll i=0;i<N;i++)xd.push_back(p[i]);
	ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=0;
	for(ll i=n-1;i>min(k-1,n-1);i--)
	{
		if((n-i)%k==0||i-1<=min(k-1,n-1))
		{
			sr+=(of-xd[i])*2;
		}
	}
	for(ll i=0;i<n+1;i++)
	{
		ll i2=min(i+k-1,n-1);s=0;
		if(i2>=i)
		{
			s+=of;
		}
		ans=min(ans,sl+sr+s);
		//cout<<i<<":"<<sl<<" "<<sr<<" "<<s<<endl;
		if(i%k==0)
		{
			sl+=xd[i]*2;
		}
		else
		{
			sl-=xd[i-1]*2;
			sl+=xd[i]*2;
		}
		if(i+k<n)
		{
			sr-=(of-xd[i+k])*2;
			if((n-(i+k))%k!=0&&i+k+1<n)
			{
				sr+=(of-xd[i+k+1])*2;
			}
		}
	}
	sl=0;sr=0;
	for(ll i=n-1;i>=0;i--)
	{
		if((n-i)%k==0||i==0)
		{
			sr+=(of-xd[i])*2;
		}
	}
	//cout<<sl<<" "<<sr<<endl;
	ans=min(ans,sr);
	for(ll i=0;i<n;i++)
	{
		if(i%k==k-1||i==0)sl+=xd[i]*2;
		else sl+=(xd[i]-xd[i-1])*2;
		sr-=(of-xd[i])*2;
		if(i+1<n)
		{
			if((n-(i+1))%k!=0)
			{
				sr+=(of-xd[i+1])*2;
			}
		}
		//cout<<i<<" "<<sl<<" "<<sr<<endl;
		ans=min(ans,sl+sr);
	}
    return ans;
}

Compilation message

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:10:5: warning: unused variable 'l' [-Wunused-variable]
   10 |  ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=0;
      |     ^
boxes.cpp:10:9: warning: unused variable 'r' [-Wunused-variable]
   10 |  ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=0;
      |         ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Incorrect 1 ms 364 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Incorrect 1 ms 364 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 1 ms 384 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Incorrect 1 ms 364 KB Output isn't correct
16 Halted 0 ms 0 KB -