Submission #349711

# Submission time Handle Problem Language Result Execution time Memory
349711 2021-01-18T09:07:00 Z Bill_00 The Potion of Great Power (CEOI20_potion) C++14
38 / 100
1270 ms 262148 KB
#include <bits/stdc++.h>
#define N 200001
#define pb push_back
using namespace std;
int h[N],pre[N];
unordered_map<int,vector<int> >v[N];
vector<int>day[N];
void init(int n,int d, int H[]){
	for(int i=0;i<n;i++) h[i]=H[i];
}

void curseChanges(int u, int A[], int B[]){
	for(int i=1;i<=u;i++){
		int a=A[i-1],b=B[i-1];
		day[a].pb(i);
		day[b].pb(i);
		if(pre[a]==0){
			v[a][i].pb(b);
			pre[a]=i;
		}
		else{
			bool flag=0;
			for(int j:v[a][pre[a]]){
				if(j==b){
					flag=1;
					continue;
				}
				v[a][i].pb(j);
			}
			if(flag==0) v[a][i].pb(b);
			pre[a]=i;
		}
		if(pre[b]==0){
			v[b][i].pb(a);
			pre[b]=i;
		}
		else{
			bool flag=0;
			for(int j:v[b][pre[b]]){
				if(j==a){
					flag=1;
					continue;
				}
				v[b][i].pb(j);
			}
			if(flag==0) v[b][i].pb(a);
			pre[b]=i;
		}
	}
}

int question(int x, int y, int z) {
	int ans=1e9;
	int id=upper_bound(day[x].begin(),day[x].end(),z)-day[x].begin();
	--id;
	if(id<0){
		return ans;
	}
	int a=day[x][id];
	id=upper_bound(day[y].begin(),day[y].end(),z)-day[y].begin();
	--id;
	if(id<0){
		return ans;
	}
	int b=day[y][id];
	// cout << a << ' ' << b << '\n';
	if(v[x][a].size()==0 || v[y][b].size()==0){
		return ans;
	}
	vector<int>xx,yy;
	for(int V:v[y][b]){
		yy.pb(h[V]);
	}
	sort(yy.begin(),yy.end());
	for(int U:v[x][a]){
		int id=lower_bound(yy.begin(),yy.end(),h[U])-yy.begin();
		ans=min(ans,abs(h[U]-yy[max(0,id-1)]));
		int r=yy.size()-1;
		ans=min(ans,abs(yy[min(id,r)]-h[U]));
	}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 13 ms 15980 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 16236 KB Output is correct
2 Correct 13 ms 16236 KB Output is correct
3 Correct 13 ms 16236 KB Output is correct
4 Correct 27 ms 17516 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 566 ms 60468 KB Output is correct
2 Correct 563 ms 60448 KB Output is correct
3 Correct 638 ms 72172 KB Output is correct
4 Runtime error 1152 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 544 ms 60488 KB Output is correct
2 Runtime error 1270 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 65 ms 18412 KB Output is correct
2 Correct 91 ms 18668 KB Output is correct
3 Correct 129 ms 18796 KB Output is correct
4 Correct 691 ms 25468 KB Output is correct
5 Correct 619 ms 24172 KB Output is correct
6 Correct 118 ms 19052 KB Output is correct
7 Correct 544 ms 23916 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 15980 KB Output is correct
2 Correct 13 ms 16236 KB Output is correct
3 Correct 13 ms 16236 KB Output is correct
4 Correct 13 ms 16236 KB Output is correct
5 Correct 27 ms 17516 KB Output is correct
6 Correct 566 ms 60468 KB Output is correct
7 Correct 563 ms 60448 KB Output is correct
8 Correct 638 ms 72172 KB Output is correct
9 Runtime error 1152 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
10 Halted 0 ms 0 KB -