Submission #650498

#TimeUsernameProblemLanguageResultExecution timeMemory
650498fatemetmhrLottery (CEOI18_lot)C++17
100 / 100
675 ms8288 KiB
// ~Be name khoda~ // #include<bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back #define mp make_pair #define all(x) x.begin(), x.end() #define fi first #define se second #define cl clear #define endll '\n' const int maxn = 1e6 + 10; const int maxn5 = 1e4 + 10; const int maxnt = 1.2e6 + 10; const int maxn3 = 1e3 + 10; const int mod = 1e9 + 7; const ll inf = 2e18; vector <pair<int, int>> qu; int a[maxn5], have[maxn5], reff[maxn5], ind[103]; int ans[102][maxn5]; int main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n, l; cin >> n >> l; for(int i = 0; i < n; i++) cin >> a[i]; int q; cin >> q; for(int i = 0; i < q; i++){ int k; cin >> k; qu.pb({k, i}); } sort(all(qu)); if(qu.back().fi < l) qu.pb({l, q}); for(int i = 0; i <= l; i++){ reff[i] = lower_bound(all(qu), mp(i, -1)) - qu.begin(); } for(int i = 1; i < n; i++){ fill(have, have + n + 2, 0); for(int j = 0; j + i < n; j++) if(a[j] != a[j + i]){ have[max(0, j - l + 1)]++; have[j + 1]--; } int now = 0; for(int j = 0; j + i + l - 1 < n; j++){ now += have[j]; ans[reff[now]][j]++; ans[reff[now]][j + i]++; } } ind[qu[0].se] = 0; for(int i = 1; i < qu.size(); i++){ for(int j = 0; j < n; j++) ans[i][j] += ans[i - 1][j]; ind[qu[i].se] = i; } for(int i = 0; i < q; i++){ for(int j = 0; j + l - 1 < n; j++) cout << ans[ind[i]][j] << ' '; cout << '\n'; } }

Compilation message (stderr)

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