Cod sursa(job #2613990)

Utilizator bem.andreiIceman bem.andrei Data 10 mai 2020 23:43:37
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.18 kb
#include <bits/stdc++.h>

using namespace std;
ifstream r("hashuri.in");
ofstream w("hashuri.out");
const int mod=301013;
vector<int>v[mod+2];
long long trans(int a){
    long long p=1;
    for(int i=0;i<103;i++){
        p*=a;
        p%=mod;
    }
    return p;
}
void put(int a){
    int p=trans(a);
    bool exist=false;
    for(int i=0;i<v[p].size();i++){
        if(v[p][i]==a){
            exist=true;
            break;
        }
    }
    if(exist==false){
        v[p].push_back(a);
    }
}
void sterg(int a){
    int p=trans(a);
    for(int i=0;i<v[p].size();i++){
        if(v[p][i]==a){
            swap(v[p][i], v[p][v[p].size()-1]);
            v[p].pop_back();
            break;
        }
    }
}
 bool exist(int a){
    int p=trans(a);
    for(int i=0;i<v[p].size();i++){
        if(v[p][i]==a){
            return 1;
        }
    }
    return 0;
}
int main()
{
    int n;
    r>>n;
    for(int i=0;i<n;i++){
        int x, y;
        r>>x>>y;
        if(x==1){
            put(y);
        }
        else if(x==2){
            sterg(y);
        }
        else{
            w<<exist(y)<<"\n";
        }
    }
    return 0;
}