제출 #764342

#제출 시각아이디문제언어결과실행 시간메모리
764342boris_mihov코끼리 (Dancing Elephants) (IOI11_elephants)C++17
26 / 100
9041 ms1056 KiB
#include "elephants.h"
#include <algorithm>
#include <iostream>
#include <numeric>
#include <cassert>
#include <random>
#include <vector>
#include <set>

#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")

typedef long long llong;
const int MAXN = 150000 + 10;
const int INF  = 2e9;

int n, len;
int a[MAXN];
int x[MAXN];
void init(int N, int L, int X[])
{
    n = N;
    len = L;
    for (int i = 0 ; i < n ; ++i)
    {
        a[i + 1] = x[i + 1] = X[i];
    }
}

int update(int idx, int y)
{
    idx++;
    int pos;
    for (int i = 1 ; i <= n ; ++i)
    {
        if (a[i] == x[idx])
        {
            a[i] = y;
            pos = i;
            break;
        }
    }

    x[idx] = y;
    idx = pos;

    while (idx > 1 && a[idx - 1] > a[idx])
    {
        std::swap(a[idx - 1], a[idx]);
        idx--;
    }

    while (idx < n && a[idx + 1] < a[idx])
    {
        std::swap(a[idx], a[idx + 1]);
        idx++;
    }

    std::sort(a + 1, a + 1 + n);
    int coveredTo = -1, ans = 0;
    for (int i = 1 ; i <= n ; ++i)
    {
        if (coveredTo < a[i])
        {
            ans++;
            coveredTo = a[i] + len;
        }
    }

    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

elephants.cpp: In function 'int update(int, int)':
elephants.cpp:33:9: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
   33 |     int pos;
      |         ^~~
#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...