Submission #642249

#TimeUsernameProblemLanguageResultExecution timeMemory
642249christinelynnLasers (NOI19_lasers)C++17
24 / 100
158 ms59176 KiB
#include <bits/stdc++.h>
using namespace std;

#define nyahalo ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define otsumiko exit(0);
#define mikodanye priority_queue<pair<long long, long long>, vector<pair<long long, long long> >, greater<pair<long long, long long> > >
#define mikochi priority_queue<long long, vector<long long>, greater<long long> >

long long l, r, x, ao = 1, wd, ans, ca, cl, cr, cs, sl[500069], sx = 0;
vector<long long> wl[500069], ps[500069];

int main() {
  nyahalo
  long long i, j, ii;
  cin >> l >> r;
  for (i=1; i<=r; i++) {
    cin >> x;
    sx += x;
    cs = 0;
    ps[i].push_back(0);
    for (j=1; j<=x; j++) {
      cin >> wd;
      cs += wd;
      wl[i].push_back(wd);
      ps[i].push_back(cs);
    }
    sl[i] = cs;
    if (x != 1) {
      ao = 0;
    }
  }
  if (ao == 1) {
    ans = 0;
    for (i=1; i<=r; i++) {
      wd = wl[i][0];
      cr = wd;
      cl = l-wd+1;
      ca = max(0ll, cr-cl+1);
      ans = max(ans, ca);
    }
    cout << ans << "\n";
    otsumiko
  }
  if ((r == 2 && l<=1000000) || (l<=1000 && sx<=1000)) {
    ans = 0;
    for (i=1; i<=r; i++) {
      ca = 0;
      for (j=1; j<=l; j++) {
        cl = *(lower_bound(ps[i].begin(), ps[i].end(), j)-1);
        cr = sl[i]-cl;
        cr = l+1-cr;
        if (cr<=j) {
          ca++;
        }
      }
      ans = max(ans, ca);
    }
    cout << ans << "\n";
    otsumiko
  }
  cout << "sek\n";
  otsumiko
}

Compilation message (stderr)

lasers.cpp: In function 'int main()':
lasers.cpp:14:19: warning: unused variable 'ii' [-Wunused-variable]
   14 |   long long i, j, ii;
      |                   ^~
#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...