Submission #21166

# Submission time Handle Problem Language Result Execution time Memory
21166 2017-04-06T20:46:16 Z sbansalcs Aliens (IOI16_aliens) C++14
12 / 100
96 ms 9896 KB
#include "aliens.h"
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;

const int N = 4005;
const int M = 1e6+2;
const ll inf=1e15;
int arr[M];
int vis[M];
// int cost[N][N];
vector<int> vt;
int n2;
ll dp[2][N];





long long take_photos(int n, int m, int k, std::vector<int> vt1, std::vector<int> vt2) {

	for(int i=0;i<n;i++)	{
		if(vt2[i]>vt1[i])	{
			swap(vt2[i],vt1[i]);
		}
		if(vis[vt1[i]])	arr[vt1[i]]=min(arr[vt1[i]],vt2[i]);
		else	{
			arr[vt1[i]]=vt2[i];
			vis[vt1[i]]=1;
			vt.push_back(vt1[i]);
		}
	}


	sort(vt.begin(),vt.end());
	int n2=vt.size();

	// for(int i=0;i<n2;i++)	{
	// cout<<i<<" : "<<vt[i]<<" , "<<arr[vt[i]]<<endl;

	// }

	// for(int i=0;i<n2;i++)	{
	// 	int s=1e7;
	// 	for(int j=i;j<n2;j++)	{
	// 		s=min(arr[vt[j]],s);
	// 		cost[i][j]=1+vt[j]-s;cost[i][j]*=cost[i][j];
	// 		cout<<i<<"  "<<j<<" : "<<cost[i][j]<<endl;
	// 	}
	// }

	// for(int i=0;i<n2;i++)	{
	// 	for(int j=1;j<=i+1 && j<=k;j++)	{
	// 		if(j==1)	
	// 	}
	// }
	int a,b,s;ll f;
	for(int i=0;i<=k;i++)	{
		a=i&1;b=a^1;
		for(int j=0;j<n2;j++)	{
			dp[a][j]=inf;
			s=1e7;
			if(i!=0)	dp[a][j]=min(dp[a][j],dp[b][j]);
			if(i!=0 && i<=j+1)	{
			
			for(int l=j;l>=0;l--)	{

				s=min(s,arr[vt[l]]);
				f=vt[j]+1-s;f*=f;
				if(l==0)	{
						dp[a][j]=min(dp[a][j],f);

				}
				else	{
					dp[a][j]=min(dp[a][j],dp[b][l-1]+f);
				}
			}
		}
			// cout<<i<<"  "<<j<<" : "<<dp[a][j]<<endl;
		}	
	}

    return dp[k&1][n2-1];
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 4
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 4
4 Incorrect 0 ms 9896 KB Wrong answer: output = 13, expected = 12
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 1
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 1
4 Correct 0 ms 9896 KB Correct answer: answer = 5
5 Correct 0 ms 9896 KB Correct answer: answer = 41
6 Correct 0 ms 9896 KB Correct answer: answer = 71923
7 Correct 0 ms 9896 KB Correct answer: answer = 77137
8 Correct 39 ms 9896 KB Correct answer: answer = 764
9 Correct 0 ms 9896 KB Correct answer: answer = 250000
10 Correct 96 ms 9896 KB Correct answer: answer = 500
11 Correct 0 ms 9896 KB Correct answer: answer = 32
12 Correct 0 ms 9896 KB Correct answer: answer = 130050
13 Correct 13 ms 9896 KB Correct answer: answer = 5110
14 Correct 0 ms 9896 KB Correct answer: answer = 2626
15 Correct 9 ms 9896 KB Correct answer: answer = 796
16 Correct 9 ms 9896 KB Correct answer: answer = 7580
17 Correct 39 ms 9896 KB Correct answer: answer = 1904
18 Correct 0 ms 9896 KB Correct answer: answer = 996004
19 Correct 3 ms 9896 KB Correct answer: answer = 38817
20 Correct 16 ms 9896 KB Correct answer: answer = 4096
21 Correct 0 ms 9896 KB Correct answer: answer = 1
22 Correct 0 ms 9896 KB Correct answer: answer = 1
23 Correct 36 ms 9896 KB Correct answer: answer = 2040
24 Correct 0 ms 9896 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 4
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 4
4 Incorrect 0 ms 9896 KB Wrong answer: output = 13, expected = 12
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 4
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 4
4 Incorrect 0 ms 9896 KB Wrong answer: output = 13, expected = 12
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 4
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 4
4 Incorrect 0 ms 9896 KB Wrong answer: output = 13, expected = 12
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9896 KB Correct answer: answer = 4
2 Correct 0 ms 9896 KB Correct answer: answer = 4
3 Correct 0 ms 9896 KB Correct answer: answer = 4
4 Incorrect 0 ms 9896 KB Wrong answer: output = 13, expected = 12
5 Halted 0 ms 0 KB -