Submission #638624

#TimeUsernameProblemLanguageResultExecution timeMemory
638624PoonYaPatLasers (NOI19_lasers)C++14
100 / 100
123 ms9996 KiB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;

int n,l;
int a[500001],sum1,sum2;
vector<pii> v,vv;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin>>l>>n;
    for (int i=0; i<n; ++i) {
        int x; cin>>x;
        sum1=0; sum2=0;
        for (int j=1; j<=x; ++j) cin>>a[j], sum2+=a[j];
        for (int j=0; j<=x; ++j) {
            sum1+=a[j]; sum2-=a[j];
            vv.push_back(pii(sum1+1,l-sum2));
        }
        for (int j=1; j<vv.size(); ++j) {
            if (vv[j].first-vv[j-1].second>1) {
                v.push_back(pii(vv[j-1].second+1,vv[j].first-1));
            }
        }
        vv.clear();
    }
    sort(v.begin(),v.end());
    int pre=-1,ans=0;
    for (auto s : v) {
        if (s.first>pre) {
            ans+=s.second-s.first+1;
            pre=s.second;
        } else if (pre<s.second) {
            ans+=s.second-pre;
            pre=s.second;
        }
    }
    cout<<ans;
}

Compilation message (stderr)

lasers.cpp: In function 'int main()':
lasers.cpp:20:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |         for (int j=1; j<vv.size(); ++j) {
      |                       ~^~~~~~~~~~
#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...