제출 #1305268

#제출 시각아이디문제언어결과실행 시간메모리
1305268andrei_iorgulescuRoller Coaster Railroad (IOI16_railroad)C++20
0 / 100
317 ms25416 KiB
#include <bits/stdc++.h>
#include "railroad.h"

using namespace std;

using ll = long long;

int n, s[200005], t[200005];

void normalize()
{
    vector<int> vls;
    for (int i = 1; i <= n; i++)
        vls.push_back(s[i]), vls.push_back(t[i]);
    sort(vls.begin(), vls.end());
    int posnorma = 0;
    map<int, int> norma;
    for (auto it : vls)
        if (!norma[it])
            norma[it] = ++posnorma;
    for (int i = 1; i <= n; i++)
        s[i] = norma[s[i]], t[i] = norma[t[i]];
}

ll plan_roller_coaster(vector<int> S, vector<int> T)
{
    n = S.size();
    for (int i = 1; i <= n; i++)
        s[i] = S[i - 1], t[i] = T[i - 1];
    normalize();
    vector<int> mars(2 * n + 5);
    for (int i = 1; i <= n; i++)
    {
        mars[t[i]]++;
        mars[s[i]]--;
    }
    for (int i = 1; i <= 2 * n + 3; i++)
    {
        mars[i] += mars[i - 1];
        if (mars[i] <= -2)
            return 1ll;
    }
    int tip = 0;
    for (int i = 1; i <= 2 * n + 3; i++)
    {
        if (tip == 0 and mars[i] == -1)
            tip = 1;
        else if (tip == 1 and mars[i] != -1)
            tip = 2;
        else if (tip == 2 and mars[i] == -1)
            tip = 3;
    }
    if (tip == 3)
        return 1ll;
    return 0ll;
}

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

railroad.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
railroad_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...