Submission #1303620

#TimeUsernameProblemLanguageResultExecution timeMemory
1303620activedeltorreGame (IOI13_game)C++20
37 / 100
13089 ms5572 KiB
#include "game.h" #include<map> #include<vector> using namespace std; long long gcd2(long long X, long long Y) { long long tmp; while (X != Y && Y != 0) { tmp = X; X = Y; Y = tmp % Y; } return X; } struct ura { int a,b; long long value; }; map<pair<int,int>,int>mp; int ids=0; int invector[25000]; int bucket[25000]; vector<ura>pset; vector<ura>nset; void recalcbucket(int id) { } void init(int R, int C) { } void update(int P, int Q, long long K) { if(mp[{P,Q}]==0) { ids++; mp[{P,Q}]=ids; invector[ids]=0; nset.push_back({P,Q,K}); } else { if(invector[mp[{P,Q}]]==1) { recalcbucket(mp[{P,Q}]); } else { for(int i=0;i<nset.size();i++) { if(P==nset[i].a && Q==nset[i].b) { nset[i].value=K; } } } } } long long calculate(int P, int Q, int U, int V) { long long rez=0; for(int i=0;i<nset.size();i++) { if(P<=nset[i].a && nset[i].a<=U && Q<=nset[i].b && nset[i].b<=V) rez=gcd2(rez,nset[i].value); } return rez; }
#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...