| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 43423 | 项奕琳 初二 | 【J】T3 | C++ | 通过 | 100 | 220 MS | 21796 KB | 535 | 2026-10-29 15:28:44 |
#include <bits/stdc++.h> using namespace std; #define int long long const int N=1e6+5; int n,k,a[N],p1[N],p2[N],f[N]; signed main(){ cin >> n >> k; for(int i=1; i<=n; i++){ cin >> a[i]; a[i] = (a[i-1]+a[i])%k; } for(int i=0; i<k; i++) p2[i] = -1; for(int i=0; i<=n; i++){ p1[i] = p2[a[i]]; p2[a[i]] = i; } for(int i=1; i<=n; i++){ if(p1[i]!=-1) f[i] = max(f[i-1],f[p1[i]]+1); else f[i] = f[i-1]; } cout << f[n]; return 0; }