제출 #1286517

#제출 시각아이디문제언어결과실행 시간메모리
1286517ggillianjiang코끼리 (Dancing Elephants) (IOI11_elephants)C++20
0 / 100
1 ms432 KiB
#include <iostream>
#include <cstdio>
#include <vector>
#include <utility>

using namespace std;

#define loop(s) for (int a = 0; a < s; ++a)
using vec_t = vector<int>;
using p_t = pair<int, pair<int, int>>;
using vp_t = vector<p_t>;
using vv_t = vector<vector<int>>;
int n, l, least;
vv_t frames;

int update(int i, int y)
{
    int si = frames[i / l].size();
    loop(frames[i / l].size())
    {
        int b = frames[i / l][a];
        if (b == -1)
            continue;
        else if (b == i){
            if(a == si - 1)
                frames[i / l].pop_back();
            else 
                b = -1;

            if(si==1) least --;
            break;
        }
    }

    int sy = frames[y / l].size();

    if (sy == 0)
        least++;
    
    frames[y / l].push_back(y);

    printf("%d", least);

    return least;
}

void init(int N, int L, int X[])
{

    int M, i, y;
    n = N;
    l = L;

    //scanf("%d", &M);

    loop(sizeof(*X) / sizeof(X[0]))
    {
        frames[X[a] / l].push_back(X[a]);
        if (X[a] / l != X[a - 1] / l)
            least++;
    }

    //printf("%d", least);

    loop(M)
    {
        //scanf("%d %d", &i, &y);
        update(i, y);
    }
}
#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...