Submission #114552

#TimeUsernameProblemLanguageResultExecution timeMemory
114552ly20Roller Coaster Railroad (IOI16_railroad)C++14
0 / 100
286 ms16052 KiB
#include<bits/stdc++.h>
using namespace std;
#include "railroad.h"
const int MAXN=212345;
set <pair<pair<int,int> ,int > > v;
int a[MAXN];
long long plan_roller_coaster(vector<int> e,vector<int> s)
{
	int n=e.size();
	for(int i=0;i<n;i++)
	{
		v.insert(make_pair(make_pair(s[i],e[i]),i));
	}
	int idm=(*v.begin()).second;
	v.erase(v.begin());
	long long resp=0;
	for(int i=0;i<n-1;i++)
	{
		set<pair<pair<int,int> ,int> >::iterator id; 
		id=v.lower_bound(make_pair(make_pair(e[idm],s[idm]),0));
		pair<pair<int,int>,int > at;
		if(id==v.end())id--;
		at=(*id);
		v.erase(id);
		int id1=at.second;
		resp+=max(0,s[id1]-e[idm]);
		idm=id1;
	}
	return resp;
}
/*int main()
{
	int n;
	scanf("%d",&n);
	int v[10];
	for(int i=0;i<10;i++)v[i]=i;
	printf("%d %d\n",lower_bound(v,v+10,n)-v,upper_bound(v,v+10,n)-v);
	return 0;
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...