Submission #125608

# Submission time Handle Problem Language Result Execution time Memory
125608 2019-07-06T05:18:35 Z SOIVIEONE Boxes with souvenirs (IOI15_boxes) C++14
0 / 100
2000 ms 2196 KB
#include <bits/stdc++.h>
#include "boxes.h"
//#include <ext/pb_ds/assoc_container.hpp>

#define INF 1000000021
#define MOD 1000000007
#define pb push_back
#define sqr(a) (a)*(a)
#define M(a, b) make_pair(a,b)
#define T(a, b, c) make_pair(a, make_pair(b, c))
#define F first
#define S second
#define all(x) (x.begin(), x.end())
#define deb(x) cerr << #x << " = " << x << '\n'

using namespace std;
//using namespace __gnu_pbds;

typedef long double ld;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
//typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;

const ld pi = 2 * acos(0.0);
template<class T> bool umin(T& a, T b){if(a>b){a=b;return 1;}return 0;}
template<class T> bool umax(T& a, T b){if(a<b){a=b;return 1;}return 0;}
template<class T, class TT> bool pal(T a, TT n){int k=0;for(int i=0;i<=n/2;i++){if(a[i]!=a[n-i-1]){k=1;break;}}return k?0:1;}

long long delivery(int N, int K, int L, int p[]) 
{
	int n = N;
	sort (p, p + n);
	ll l = L*1ll, ans = 1e16;
	do
	{
		ll k = K, cur = 0, res = 0;
		for(int i = 0; i < n; i ++)
		{
			ll foo = 0, hoo = 0;
			if(cur == 0)
				k = K;
			if(!k)
			{
				foo = cur;
				hoo = L - cur;
				res += min(foo, hoo);
				cur = 0;
				k = K;
			}
			if(cur <= p[i])
			{
				foo = p[i] - cur;
				hoo = cur + l - p[i];
				if(hoo <= foo)
				{
					res += hoo;
					k = K-1;
				}
				else
					res += foo,
					k--;
			}
			else
			{
				foo = cur - p[i];
				hoo = l - cur + p[i];
				if(hoo <= foo)
				{
					res += hoo;
					k = K - 1;
				}
				else
				{
					res += foo;
					k --;
				}
			}
			cur = p[i];
		}
		ll foo = cur, hoo = L - cur;
		res += min(foo, hoo);
		deb(res);
		umin(ans, res);
	}while(next_permutation(p, p + n));
	return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2045 ms 2196 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 55 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -