Submission #1303620

#TimeUsernameProblemLanguageResultExecution timeMemory
1303620activedeltorre게임 (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...