Submission #2609689
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int inf_int=1e8; const ll inf_ll=1e16; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef long double dbl; #define pb push_back const double pi=3.1415926535898; #define dout if(debug) cout #define fi first #define se second #define sp setprecision #define sz(a) (int(a.size())) #define all(a) a.begin(),a.end() bool debug = 0; const int MAXN = 3e5+10; const int LOG = 20; const int mod =998244353; int L[MAXN],R[MAXN]; ll get(int n){ dout <<"start "<<endl; set<pii> l; set<pii> r; for(int i=1;i<=n;++i){ r.insert({R[i],i}); l.insert({L[i],i}); } int cur =0; ll ans =0; for(int i=1;i<=n;++i){ int nxt = -1; if(i&1){ nxt = l.rbegin()->se; if(L[nxt] < cur){ break; } ans+=abs(L[nxt] - cur); cur = L[nxt]; } else{ nxt = r.begin()->se; if(R[nxt]>cur) break; ans+=abs(R[nxt] - cur); cur = R[nxt]; } // cout << cur<<" "<<ans<<endl; l.erase({L[nxt],nxt}); r.erase({R[nxt],nxt}); } ans+=abs(cur); dout <<"ans "<<ans<<endl; return ans; } void solve(){ int n; cin >> n; for(int i=1;i<=n;++i){ cin >> L[i] >> R[i]; } ll ans = get(n); for(int i=1;i<=n;++i){ L[i]=-L[i]; R[i]=-R[i]; if(L[i]>R[i]) swap(L[i],R[i]); } ans = max(ans, get(n)); cout << ans<<"\n"; } signed main() { #ifdef taow freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); #else #endif // taow ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cout.setf(ios::fixed); cout.precision(20); int t = 1; while(t--) solve(); }
Submission Info
Submission Time | |
---|---|
Task | C - Interval Game |
User | taow |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2073 Byte |
Status | AC |
Exec Time | 237 ms |
Memory | 10368 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample01.txt, sample02.txt, sample03.txt |
All | sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, sample01.txt, sample02.txt, sample03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in01.txt | AC | 115 ms | 6400 KB |
in02.txt | AC | 203 ms | 10112 KB |
in03.txt | AC | 105 ms | 6016 KB |
in04.txt | AC | 56 ms | 3712 KB |
in05.txt | AC | 118 ms | 6400 KB |
in06.txt | AC | 205 ms | 10240 KB |
in07.txt | AC | 122 ms | 6784 KB |
in08.txt | AC | 29 ms | 2304 KB |
in09.txt | AC | 108 ms | 6016 KB |
in10.txt | AC | 102 ms | 5760 KB |
in11.txt | AC | 212 ms | 10368 KB |
in12.txt | AC | 208 ms | 10368 KB |
in13.txt | AC | 209 ms | 10368 KB |
in14.txt | AC | 208 ms | 10368 KB |
in15.txt | AC | 210 ms | 10368 KB |
in16.txt | AC | 209 ms | 10368 KB |
in17.txt | AC | 213 ms | 10368 KB |
in18.txt | AC | 211 ms | 10368 KB |
in19.txt | AC | 210 ms | 10368 KB |
in20.txt | AC | 208 ms | 10368 KB |
in21.txt | AC | 233 ms | 10368 KB |
in22.txt | AC | 237 ms | 10368 KB |
in23.txt | AC | 233 ms | 10368 KB |
in24.txt | AC | 232 ms | 10368 KB |
in25.txt | AC | 233 ms | 10368 KB |
in26.txt | AC | 232 ms | 10368 KB |
in27.txt | AC | 236 ms | 10368 KB |
in28.txt | AC | 233 ms | 10368 KB |
in29.txt | AC | 232 ms | 10368 KB |
in30.txt | AC | 233 ms | 10368 KB |
in31.txt | AC | 186 ms | 10368 KB |
in32.txt | AC | 191 ms | 10368 KB |
in33.txt | AC | 192 ms | 10368 KB |
in34.txt | AC | 193 ms | 10368 KB |
in35.txt | AC | 186 ms | 10368 KB |
in36.txt | AC | 186 ms | 10368 KB |
in37.txt | AC | 215 ms | 10368 KB |
in38.txt | AC | 202 ms | 10368 KB |
in39.txt | AC | 224 ms | 10368 KB |
in40.txt | AC | 190 ms | 10368 KB |
sample01.txt | AC | 1 ms | 256 KB |
sample02.txt | AC | 1 ms | 256 KB |
sample03.txt | AC | 1 ms | 256 KB |