Submission #68474676
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define _f(i, l, r) for (int i = l; i <= r; ++i)
#define _r(i, r, l) for (int i = r; i >= l; --i)
#define FASTIO ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define int long long
const int N = 4.5e6+5, M = 1005, inf = 0xc0c0c0c0c0c0c0c0;
int n, s, a[N], f[N], pre[N];
int la[N];
struct SegmentTree {
int dat[N<<2];
void upd(int p, int l, int r, int x, int v) {
if (l == r) return dat[p]=v, void();
int mid = (l+r)>>1;
x <= mid ? upd(p<<1, l, mid, x, v) : upd(p<<1|1, mid+1, r, x, v);
dat[p] = min(dat[p<<1], dat[p<<1|1]);
}
int ask(int p, int l, int r, int L, int R) {
if (L > R) return 0;
if (L <= l && r <= R) return dat[p];
int mid = (l+r)>>1;
if (L > mid) return ask(p<<1|1, mid+1, r, L, R);
if (mid >= R) return ask(p<<1, l, mid, L, R);
return min(ask(p<<1, l, mid, L, R), ask(p<<1|1, mid+1, r, L, R));
}
} sgt;
int B = 3;
signed main() {
FASTIO;
cin >> n >> s;
_f(i, 1, n) cin >> a[i], a[i+(n<<1)]=a[i+n]=a[i];
_f(i, 1, n*B) {
pre[i] = la[a[i]];
la[a[i]] = i;
}
_f(i, 1, n*B) {
f[i] = a[i]+sgt.ask(1, 0, n*B, pre[i], i-1);
sgt.upd(1, 0, n*B, i, f[i]);
}
int ans = 0;
_f(i, 1, n) {
if (f[n+i] > s) ans = max(ans, f[i] > s ? 0ll : i);
else ans = max(ans, max(0ll, (s-f[n+i])/(f[(n<<1)+i]-f[n+i])+1)*n+i);
}
cout << ans;
return 0;
}
Submission Info
Submission Time |
|
Task |
F - Constant Sum Subsequence |
User |
marking_ray |
Language |
C++ 20 (gcc 12.2) |
Score |
1000 |
Code Size |
1524 Byte |
Status |
AC |
Exec Time |
1286 ms |
Memory |
241628 KiB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
1000 / 1000 |
Status |
|
|
Set Name |
Test Cases |
Sample |
00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt |
All |
00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-test-001.txt, 01-test-002.txt, 01-test-003.txt, 01-test-004.txt, 01-test-005.txt, 01-test-006.txt, 01-test-007.txt, 01-test-008.txt, 01-test-009.txt, 01-test-010.txt, 01-test-011.txt, 01-test-012.txt, 01-test-013.txt, 01-test-014.txt, 01-test-015.txt, 01-test-016.txt, 01-test-017.txt, 01-test-018.txt, 01-test-019.txt, 02-test-001.txt, 02-test-002.txt, 02-test-003.txt, 02-test-004.txt, 02-test-005.txt, 02-test-006.txt, 02-test-007.txt, 02-test-008.txt, 02-test-009.txt, 02-test-010.txt, 02-test-011.txt, 02-test-012.txt, 03-test-001.txt, 03-test-002.txt, 03-test-003.txt, 03-test-004.txt, 03-test-005.txt, 03-test-006.txt, 03-test-007.txt, 03-test-008.txt, 03-test-009.txt, 03-test-010.txt, 03-test-011.txt, 03-test-012.txt, 04-test-001.txt, 04-test-002.txt, 04-test-003.txt |
Case Name |
Status |
Exec Time |
Memory |
00-sample-001.txt |
AC |
1 ms |
3536 KiB |
00-sample-002.txt |
AC |
1 ms |
3492 KiB |
00-sample-003.txt |
AC |
1 ms |
3476 KiB |
01-test-001.txt |
AC |
1236 ms |
241628 KiB |
01-test-002.txt |
AC |
1268 ms |
241572 KiB |
01-test-003.txt |
AC |
1238 ms |
241528 KiB |
01-test-004.txt |
AC |
1246 ms |
241584 KiB |
01-test-005.txt |
AC |
1227 ms |
241504 KiB |
01-test-006.txt |
AC |
1286 ms |
241584 KiB |
01-test-007.txt |
AC |
1224 ms |
241484 KiB |
01-test-008.txt |
AC |
1241 ms |
241576 KiB |
01-test-009.txt |
AC |
1212 ms |
241620 KiB |
01-test-010.txt |
AC |
1224 ms |
241308 KiB |
01-test-011.txt |
AC |
1221 ms |
241328 KiB |
01-test-012.txt |
AC |
1165 ms |
241332 KiB |
01-test-013.txt |
AC |
861 ms |
164576 KiB |
01-test-014.txt |
AC |
927 ms |
234392 KiB |
01-test-015.txt |
AC |
784 ms |
156576 KiB |
01-test-016.txt |
AC |
1285 ms |
241328 KiB |
01-test-017.txt |
AC |
1245 ms |
241544 KiB |
01-test-018.txt |
AC |
1199 ms |
241332 KiB |
01-test-019.txt |
AC |
1226 ms |
241556 KiB |
02-test-001.txt |
AC |
1258 ms |
241212 KiB |
02-test-002.txt |
AC |
1279 ms |
241472 KiB |
02-test-003.txt |
AC |
1266 ms |
241232 KiB |
02-test-004.txt |
AC |
1241 ms |
241592 KiB |
02-test-005.txt |
AC |
1253 ms |
240956 KiB |
02-test-006.txt |
AC |
1272 ms |
241480 KiB |
02-test-007.txt |
AC |
1236 ms |
241624 KiB |
02-test-008.txt |
AC |
1237 ms |
241572 KiB |
02-test-009.txt |
AC |
1190 ms |
241620 KiB |
02-test-010.txt |
AC |
1141 ms |
241556 KiB |
02-test-011.txt |
AC |
1283 ms |
241284 KiB |
02-test-012.txt |
AC |
1244 ms |
241596 KiB |
03-test-001.txt |
AC |
1247 ms |
241244 KiB |
03-test-002.txt |
AC |
1251 ms |
241216 KiB |
03-test-003.txt |
AC |
1270 ms |
241596 KiB |
03-test-004.txt |
AC |
1284 ms |
241476 KiB |
03-test-005.txt |
AC |
1219 ms |
241080 KiB |
03-test-006.txt |
AC |
1284 ms |
241620 KiB |
03-test-007.txt |
AC |
1273 ms |
241388 KiB |
03-test-008.txt |
AC |
1286 ms |
241528 KiB |
03-test-009.txt |
AC |
1105 ms |
241628 KiB |
03-test-010.txt |
AC |
1162 ms |
241576 KiB |
03-test-011.txt |
AC |
1245 ms |
241428 KiB |
03-test-012.txt |
AC |
1285 ms |
241068 KiB |
04-test-001.txt |
AC |
1 ms |
3460 KiB |
04-test-002.txt |
AC |
1 ms |
3408 KiB |
04-test-003.txt |
AC |
1247 ms |
241628 KiB |