Submission #815957

#TimeUsernameProblemLanguageResultExecution timeMemory
815957andecaandeciLasers (NOI19_lasers)C++17
100 / 100
274 ms16764 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int presum[500005]; vector<pair<int, int>> segment; signed main() { int l, r, x, w; cin >> l >> r; for (int i = 1; i <= r; i++) { cin >> x; for (int j = 1; j <= x; j++) { cin >> w; presum[j] = presum[j-1] + w; } int gap = l - presum[x]; for (int j = 1; j <= x; j++) { if (presum[j-1] + gap + 1 <= presum[j]) { segment.push_back({presum[j-1] + gap + 1, 1}); segment.push_back({presum[j], 2}); } } } // Line Sweep sort(segment.begin(), segment.end()); int count = 0, save, ans = 0; for (auto i: segment) { if (i.second == 1) { if (count == 0) save = i.first; count++; } else { count--; if (count == 0) ans += (i.first-save+1); } } cout << ans << endl; }

Compilation message (stderr)

lasers.cpp: In function 'int main()':
lasers.cpp:38:38: warning: 'save' may be used uninitialized in this function [-Wmaybe-uninitialized]
   38 |       if (count == 0) ans += (i.first-save+1);
      |                               ~~~~~~~^~~~~
#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...