Submission #252656

#TimeUsernameProblemLanguageResultExecution timeMemory
252656BadrangiikhStrange Device (APIO19_strange_device)C++14
0 / 100
2144 ms32148 KiB
#include<bits/stdc++.h> #include <deque> #include <cmath> using namespace std; #define ll long long /*freopen("input.txt","r",stdin); freopen("output.txt","w",stdout);*/ long long x , y , z , i , j , n , m , k , s1 , s2 , s3 , s4 , s5 , s6 , mod , l , r , t , maxx , minn , sx , so , sum , mid , ans , puk , par , chi , sz , choc1 , choc2 , len , depth ; pair < long long , long long > aa [ 2000045 ] ; int main() { cin >> n >> x >> y ; z = x / ( __gcd ( x , y + 1 ) ) ; if ( z > 1000000000000000000 / y ) { k = 1000000000000000001 ; } else { k = z * y ; } x = 0 ; for ( i = 1 ; i <= n ; i ++ ) { cin >> l >> y ; if ( r - l + 1 >= k ) { cout << k ; exit (0) ; } l %= k ; r %= k ; if ( l <= r ) { x ++ ; aa [ x ] . first = l ; aa [ x ] . second = r ; } else { x ++ ; aa [ x ] . first = l ; aa [ x ] . second = k - 1 ; x ++ ; aa [ x ] . first = 0 ; aa [ x ] . second = r ; } } sort ( aa + 1 , aa + x + 1 ) ; r = -1 ; ans = 0 ; for ( i = 1 ; i <= x ; i ++ ) { r = max ( r , aa [ i ] . first - 1 ) ; ans += max ( aa [ i ] . second - r , so ) ; r = max ( aa [ i ] . second , r ) ; } cout << ans ; }
#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...