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
AC × 3
AC × 49
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