Submission #154275

#TimeUsernameProblemLanguageResultExecution timeMemory
154275SeekingOblivionTopovi (COCI15_topovi)C++14
60 / 120
2090 ms39160 KiB
#include<fstream> #include<map> #include<iostream> #define fin cin #define fout cout using namespace std; //ifstream fin("date.in"); //ofstream fout("date.out"); int i,j,n,k,p,s; long long sol; map<int,int> xori,xorj,fi,fj; map<pair<int,int>,int> r; void solve(int i,int j,int p) { if(xori.find(i)==xori.end()) xori[i]=0; if(xorj.find(j)==xorj.end()) xorj[j]=0; sol-=n-fj[xori[i]]; sol-=n-fi[xorj[j]]; fi[xori[i]]--;xori[i]^=p;fi[xori[i]]++; fj[xorj[j]]--;xorj[j]^=p;fj[xorj[j]]++; sol+=n-fj[xori[i]]; sol+=n-fi[xorj[j]]; r[make_pair(i,j)]^=p; } int main() { fin>>n>>k>>p; fi[0]=fj[0]=n; for(;k--;) { fin>>i>>j>>s; solve(i,j,s); } for(;p--;) { fin>>i>>j; s=r[make_pair(i,j)]; solve(i,j,s); fin>>i>>j; solve(i,j,s); fout<<sol<<"\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...