Cod sursa(job #3316615)

Utilizator PetreIonutPetre Ionut PetreIonut Data 19 octombrie 2025 14:19:55
Problema Zeap Scor 10
Compilator cpp-64 Status done
Runda cex_01 Marime 1.11 kb
#include <bits/stdc++.h>
#define NMAX 1005
#define ll long long

std::ifstream f("zeap.in");
std::ofstream g("zeap.out");

using namespace std;

int n, x;
string a;
map<int, bool> fr;

void I(){
    f >> x; 
    fr[x]=1;
}

void S(){
    f >> x;
    if(fr[x]==0) g << -1 << '\n';
    fr[x]=0;
}

void C(){
    f >> x;
    g << fr[x] << '\n';
}

void MAX(){
    pair<int, bool> j, t;
    int nr=0;
    for(auto i:fr){
        if(i.second==0) continue;
        if(nr==0) {j=i;nr++;continue;}
        t=i;
        nr++;
    }
    if(nr==1){g << -1 << '\n';return;}
    g << t.first-j.first<< '\n';
}

void MIN(){
    pair<int, bool> j;
    int nr=0;
    int Min=1000000001;
    for(auto i:fr){
        if(i.second==0) continue;
        if(nr==0) {j=i;nr++;continue;}
        Min=min(Min, abs(i.first-j.first));
        j=i;
        nr++;
    }
    if(nr==1){g << -1 << '\n';return;}
    g << Min << '\n';
}

int main() {
    while(f >> a){
        if(a[0]=='I') I();
        else if(a[0]=='S') S();
        else if(a[0]=='C') C();
        else{
            if(a[1]=='A') MAX();
            else MIN();
        } 
        f.get();
    }
}