Submission #1209364

#TimeUsernameProblemLanguageResultExecution timeMemory
1209364irmuunThe Potion of Great Power (CEOI20_potion)C++20
0 / 100
176 ms34804 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() const int maxn=2e5+5; namespace { int N,D,H[maxn]; int U,A[maxn],B[maxn]; map<pair<int,int>,bool>mp; vector<int>g[maxn]; int cnt[maxn][2]; vector<array<int,3>>pr[maxn]; } void init(int N, int D, int H[]) { ::N=N,::D=D; for(int i=0;i<N;i++){ ::H[i]=H[i]; } } void curseChanges(int U, int A[], int B[]) { ::U=U; for(int i=0;i<U;i++){ if(A[i]>B[i]) swap(A[i],B[i]); ::A[i]=A[i]; ::B[i]=B[i]; } mp.clear(); for(int i=0;i<N;i++){ g[i].clear(); } for(int i=0;i<N;i++){ pr[i].pb({0,0,0}); } for(int i=0;i<U;i++){ if(mp[{A[i],B[i]}]==false){ mp[{A[i],B[i]}]=true; cnt[A[i]][H[B[i]]]++; cnt[B[i]][H[A[i]]]++; } else{ mp[{A[i],B[i]}]=false; cnt[A[i]][H[B[i]]]--; cnt[B[i]][H[A[i]]]--; } pr[A[i]].pb({i,cnt[A[i]][0],cnt[A[i]][1]}); pr[B[i]].pb({i,cnt[B[i]][0],cnt[B[i]][1]}); } } int question(int x, int y, int v) { int ans=1e9; auto a=pr[x][upper_bound(all(pr[x]),array<int,3>{v,0,0})-pr[x].begin()-1]; auto b=pr[y][upper_bound(all(pr[y]),array<int,3>{v,0,0})-pr[y].begin()-1]; if((a[1]>0&&b[1]>0)||(a[2]>0&&b[2]>0)) ans=0; else if((a[1]>0&&b[2]>0)||(a[2]>0&&b[1]>0)) ans=1; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...