Submission #378158

# Submission time Handle Problem Language Result Execution time Memory
378158 2021-03-16T05:43:24 Z JerryLiu06 Strange Device (APIO19_strange_device) C++11
5 / 100
744 ms 33468 KB
#include <bits/stdc++.h>
#include <iostream>

using namespace std;

typedef long long ll;
typedef pair<ll, int> pli;

#define f first 
#define s second

int N; ll A, B, ans = 0; vector<pli> E;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);

    cin >> N >> A >> B; ll MOD = A * B;

    for (int i = 0; i < N; i++) { ll X, Y; cin >> X >> Y; X %= MOD; Y %= MOD;
        if (X <= Y) { E.push_back({X, 1}); E.push_back({Y, -1}); }

        else { E.push_back({0, 1}); E.push_back({Y, -1}); E.push_back({X, 1}); E.push_back({MOD - 1, -1}); }
    }
    sort(begin(E), end(E)); int prev = 0; int cur = 0; ll PREV = 0; ll NOW = 0;
    
     for (int i = 0; i < E.size(); ) {
         NOW = E[i].f; while (i < E.size() && E[i].f == NOW) cur += E[i++].s; ans++;

         if (prev > 0) ans += NOW - PREV - 1; prev = cur; PREV = NOW;
     }
    cout << ans << endl;
}

Compilation message

strange_device.cpp: In function 'int main()':
strange_device.cpp:26:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |      for (int i = 0; i < E.size(); ) {
      |                      ~~^~~~~~~~~~
strange_device.cpp:27:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |          NOW = E[i].f; while (i < E.size() && E[i].f == NOW) cur += E[i++].s; ans++;
      |                               ~~^~~~~~~~~~
strange_device.cpp:29:10: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   29 |          if (prev > 0) ans += NOW - PREV - 1; prev = cur; PREV = NOW;
      |          ^~
strange_device.cpp:29:47: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   29 |          if (prev > 0) ans += NOW - PREV - 1; prev = cur; PREV = NOW;
      |                                               ^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 6 ms 1028 KB Output is correct
3 Correct 6 ms 1024 KB Output is correct
4 Incorrect 1 ms 364 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Incorrect 1 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 407 ms 33340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 567 ms 33348 KB Output is correct
3 Incorrect 531 ms 33468 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 567 ms 33348 KB Output is correct
3 Incorrect 531 ms 33468 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 567 ms 33348 KB Output is correct
3 Incorrect 531 ms 33468 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Correct 60 ms 4580 KB Output is correct
3 Correct 62 ms 4580 KB Output is correct
4 Correct 744 ms 33340 KB Output is correct
5 Correct 62 ms 4708 KB Output is correct
6 Correct 61 ms 4580 KB Output is correct
7 Correct 62 ms 4580 KB Output is correct
8 Correct 63 ms 4580 KB Output is correct
9 Correct 62 ms 4580 KB Output is correct
10 Correct 65 ms 4580 KB Output is correct
11 Correct 60 ms 4580 KB Output is correct
12 Correct 55 ms 4580 KB Output is correct
13 Correct 63 ms 4580 KB Output is correct
14 Correct 678 ms 33468 KB Output is correct
15 Incorrect 63 ms 4580 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 6 ms 1028 KB Output is correct
3 Correct 6 ms 1024 KB Output is correct
4 Incorrect 1 ms 364 KB Output isn't correct
5 Halted 0 ms 0 KB -