Submission #1107608

#TimeUsernameProblemLanguageResultExecution timeMemory
1107608arnavsrivastava0123Strange Device (APIO19_strange_device)C++17
35 / 100
327 ms54304 KiB
#include <bits/stdc++.h> using namespace std; const long long INF = 1e18 + 7; void solve(){ long long n, A, B; cin >> n >> A >> B; A = A / gcd(A, B + 1); if(A > INF / B){ cout << 0 << '\n'; return; } long long MOD = A * B; long long ans = 0; vector<pair<long long, long long>> intervals; for(int i = 0; i < n;i++){ long long L, R; cin >> L >> R; if(L / MOD == R / MOD){ intervals.push_back({L % MOD, R % MOD}); }else if(L / MOD + 1 == R / MOD){ intervals.push_back({L % MOD, MOD - 1}); intervals.push_back({0, R % MOD}); }else if(R / MOD >= L / MOD + 2){ cout << MOD << '\n'; return; } } sort(intervals.begin(), intervals.end()); long long last = intervals[0].second + 1; ans = intervals[0].second - intervals[0].first + 1; for(int i = 1; i < intervals.size();i++){ ans += max(0LL, intervals[i].second - max(intervals[i].first, last) + 1); last = max(last, intervals[i].second + 1); } cout << ans << '\n'; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int T = 1; //cin >> T; while(T--){ solve(); } } /* how many unique pairs (t + t / B % A, t % B) */

Compilation message (stderr)

strange_device.cpp: In function 'void solve()':
strange_device.cpp:32:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |    for(int i = 1; i < intervals.size();i++){
      |                   ~~^~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...