Submission #109740

# Submission time Handle Problem Language Result Execution time Memory
109740 2019-05-07T21:02:18 Z amiratou Meetings (IOI18_meetings) C++14
0 / 100
24 ms 1688 KB
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
int cl_r[100005],cl_l[100005];
vector<long long> minimum_costs(vector<int> H, vector<int> L,vector<int> R) {
	int last=-1;
	for (int i = H.size()-1; i >= 0; --i)
	{
		if(H[i]==1&&(i==(int)(H.size()-1)||H[i+1]==2))
			last=i;
		//if(last==-1)cl_l
		if(H[i]==2)cl_r[i]=-1;
		else cl_r[i]=last;
	}
	/*for (int i = 0; i < H.size(); ++i)
	{
		cout<<cl_r[i]<<" ";
	}*/
	//cout<<"\n";
	last=-1;
	for (int i = 0; i < (int)H.size(); ++i)
	{
		if(H[i]==1&&(i==0||H[i-1]==2))
			last=i;
		if(H[i]==2)cl_l[i]=-1;
		else cl_l[i]=last;
		//cout<<cl_l[i]<<" ";
	}
	//cout<<"\n";
	int Q = L.size();
	vector<long long> C(Q);
	for (int i = 0; i < Q; ++i)
	{
		//C[i]=min(cl_r)
		C[i]=(int)(1e9);
		if(H[R[i]]==2&&H[L[i]]==2){C[i]=min(C[i],2LL*(R[i]-L[i]+1));continue;}
		if(cl_r[L[i]]!=-1&&cl_r[L[i]]<=R[i])
			C[i]=min(C[i],cl_r[L[i]]-L[i]+1LL+(2LL*(R[i]-cl_r[L[i]])));
		if(cl_l[R[i]]!=-1&&cl_l[R[i]]>=L[i])
			C[i]=min(C[i],R[i]-cl_l[R[i]]+1LL+(2LL*(cl_l[R[i]]-L[i])));
	}
  	return C;
}
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Incorrect 24 ms 1688 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Incorrect 24 ms 1688 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 380 KB Output isn't correct
2 Halted 0 ms 0 KB -