Submission #246214

# Submission time Handle Problem Language Result Execution time Memory
246214 2020-07-08T11:16:04 Z SamAnd Lightning Rod (NOI18_lightningrod) C++17
80 / 100
2000 ms 76200 KB
#include <bits/stdc++.h>
using namespace std;
#define m_p make_pair
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define fi first
#define se second
typedef long long ll;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
mt19937 rnf(2106);
const int N = 10000007;

int ka()
{
    int x = 0;
    while (1)
    {
        char y = getchar();
        if ('0' <= y && y <= '9')
            x = (x * 10) + (y - '0');
        else
            return x;
    }
}

int m;
int xx[N], yy[N];

void solv()
{
    int nn = ka();
    while (nn--)
    {
        int x, y;
        x = ka();
        y = ka();
        if (m == 0)
        {
            xx[m] = x;
            yy[m] = y;
            m++;
            continue;
        }
        if (x - xx[m - 1] <= y - yy[m - 1])
        {
            while (m && x - xx[m - 1] <= y - yy[m - 1])
                m--;
            xx[m] = x;
            yy[m] = y;
            m++;
        }
        else
        {
            if (!(x - xx[m - 1] <= yy[m - 1] - y))
            {
                xx[m] = x;
                yy[m] = y;
                m++;
            }
        }
    }
    printf("%d\n", m);
}

int main()
{
    #ifdef SOMETHING
    freopen("input.txt", "r", stdin);
    //freopen("output.txt", "w", stdout);
    #endif // SOMETHING
    //ios_base::sync_with_stdio(false), cin.tie(0);
    solv();
    return 0;
}

//while ((double)clock() / CLOCKS_PER_SEC <= 0.9){}
# Verdict Execution time Memory Grader output
1 Correct 1393 ms 76200 KB Output is correct
2 Correct 1389 ms 76020 KB Output is correct
3 Correct 1356 ms 74104 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 4 ms 288 KB Output is correct
10 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 4 ms 288 KB Output is correct
10 Correct 4 ms 384 KB Output is correct
11 Correct 5 ms 384 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 4 ms 288 KB Output is correct
10 Correct 4 ms 384 KB Output is correct
11 Correct 5 ms 384 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 5 ms 384 KB Output is correct
14 Correct 49 ms 384 KB Output is correct
15 Correct 46 ms 504 KB Output is correct
16 Correct 40 ms 996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1258 ms 49128 KB Output is correct
2 Correct 1246 ms 49144 KB Output is correct
3 Correct 1224 ms 47916 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1393 ms 76200 KB Output is correct
2 Correct 1389 ms 76020 KB Output is correct
3 Correct 1356 ms 74104 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 5 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Correct 4 ms 384 KB Output is correct
8 Correct 4 ms 384 KB Output is correct
9 Correct 4 ms 384 KB Output is correct
10 Correct 4 ms 384 KB Output is correct
11 Correct 5 ms 512 KB Output is correct
12 Correct 4 ms 288 KB Output is correct
13 Correct 4 ms 384 KB Output is correct
14 Correct 5 ms 384 KB Output is correct
15 Correct 5 ms 384 KB Output is correct
16 Correct 5 ms 384 KB Output is correct
17 Correct 49 ms 384 KB Output is correct
18 Correct 46 ms 504 KB Output is correct
19 Correct 40 ms 996 KB Output is correct
20 Correct 1258 ms 49128 KB Output is correct
21 Correct 1246 ms 49144 KB Output is correct
22 Correct 1224 ms 47916 KB Output is correct
23 Execution timed out 2086 ms 616 KB Time limit exceeded
24 Halted 0 ms 0 KB -