Submission #1132256

#TimeUsernameProblemLanguageResultExecution timeMemory
1132256fcmalkcinLasers (NOI19_lasers)C++20
100 / 100
591 ms35280 KiB
// Online C++ compiler to run C++ program online #include<bits/stdc++.h> // header for every library using namespace std; #define ll int const ll maxn = 5e5 + 10; map<int, int> prefCover; ll vt[maxn]; int main() { ll n, l; cin >> l >> n; for (int i = 1; i <= n; i++) { ll siz; cin >> siz; int total = 0; for (int j = 0; j < siz; j++) { cin >> vt[j]; total += vt[j]; } int cur = 0; for (int j = 0; j <= siz; j++) { // range: cur -> min(L - (total - cur), cur + vt[j]) ll end = l; if (j < siz) end = min(l - (total - cur), cur + vt[j]); if (cur <= end) { prefCover[cur]++; prefCover[end]--; } if (j != siz) { cur += vt[j]; } } } ll ans = 0; int prev = 0; int cntnw = 0; for (auto p: prefCover) { int cur = p.first; if (cntnw == n) { ans += (cur - prev); } cntnw += p.second; prev = cur; } cout << l - ans << endl; }
#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...