Submission #1199382

#TimeUsernameProblemLanguageResultExecution timeMemory
1199382raphaelpCircus (Balkan15_CIRCUS)C++20
11 / 100
39 ms4540 KiB
#include <bits/stdc++.h>
#include "circus.h"
using namespace std;
set<pair<int, int>> S;
void init(int N, int M, int P[])
{
    vector<int> P2;
    for (int i = 0; i < N; i++)
        P2.push_back(P[i]);
    sort(P2.begin(), P2.end());
    S.insert({M, M});
    for (int i = N - 1; i >= 0; i--)
    {
        auto x = S.lower_bound({P2[i], 0});
        int d = x->second - P2[i];
        auto y = S.lower_bound({P2[i] - d, 0});
        if (y->second > P2[i] && P2[i] - d >= 0)
            S.insert({P2[i] - d, P2[i]});
        y = S.lower_bound({P2[i] - d, P2[i]});
        if (y == S.begin())
            continue;
        y--;
        while (y->second >= P2[i])
        {
            int done = 0;
            auto temp = y;
            if (y == S.begin())
                done = 1;
            else
                y--;
            S.erase(temp);
            if (done)
                break;
        }
    }
}
int minLength(int D)
{
    auto ans = S.lower_bound({D, 0});
    return ans->second - D;
}
/*int main()
{
    int N, M, Q;
    cin >> N >> M >> Q;
    int Tab[N];
    for (int i = 0; i < N; i++)
        cin >> Tab[i];
    init(N, M, Tab);
    for (int i = 0; i < Q; i++)
    {
        int x;
        cin >> x;
        cout << minLength(x) << '\n';
    }
}*/

Compilation message (stderr)

grader.cpp: In function 'int main()':
grader.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         scanf("%d%d", &N, &M);
      |         ~~~~~^~~~~~~~~~~~~~~~
grader.cpp:18:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |                 scanf("%d", &P[i]);
      |                 ~~~~~^~~~~~~~~~~~~
grader.cpp:21:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |         scanf("%d", &Q);
      |         ~~~~~^~~~~~~~~~
grader.cpp:23:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |                 scanf("%d", &d);
      |                 ~~~~~^~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...