제출 #1268292

#제출 시각아이디문제언어결과실행 시간메모리
1268292phamminhsonLasers (NOI19_lasers)C++20
45 / 100
68 ms8008 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pll = pair<ll,ll>; const int N = 500005; pll segs[N]; int nseg=0; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll L; int R; if(!(cin>>L>>R)) return 0; while(R--){ int X; cin>>X; static ll a[1005]; ll total=0; for(int i=1;i<=X;i++){ cin>>a[i]; total+=a[i]; } ll S = L - total, P = 0; for(int i=1;i<=X;i++){ ll l = P + S + 1, r = P + a[i]; if(l<1) l=1; if(r> L) r=L; if(l<=r) segs[++nseg] = {l,r}; P += a[i]; } } if(!nseg){ cout<<0; return 0; } sort(segs+1, segs+nseg+1); ll ans=0, Lc=segs[1].first, Rc=segs[1].second; for(int i=2;i<=nseg;i++){ if(segs[i].first>Rc){ ans += Rc - Lc + 1; Lc = segs[i].first; Rc = segs[i].second; } else Rc = max(Rc, segs[i].second); } ans += Rc - Lc + 1; cout<<ans; return 0; }
#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...