ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#190613 | #3382. 切纸带 | wzj33300 | 100 | 69ms | 8984kb | C++ | 2.1kb | 2023-10-06 15:07:22 | 2023-10-06 18:34:57 |
answer
#include <bits/stdc++.h>
// #include <atcoder/all>
// using namespace atcoder;
using namespace std;
// #define int long long
typedef long long ll;
typedef unsigned long long ul;
typedef unsigned int ui;
typedef pair<int, int> P;
typedef pair<ll, ll> LP;
typedef double ld;
typedef pair<ld, ld> LDP;
typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
// 1->close(c), 0->open(o)
#define r11(i, l, r) for (int i = (l); i <= (r); ++i)
#define p11(i, l, r) for (int i = (r); i >= (l); --i)
#define r10(i, l, r) for (int i = (l); i < (r); ++i)
#define p10(i, l, r) for (int i = (r)-1; i >= (l); --i)
// #define r01(i, l, r) for (int i = (l) + 1; i <= (r); ++i)
// #define p01(i, l, r) for (int i = (r); i > (l); --i)
#define r1n(i, n) r11(i, 1, n)
#define r0n(i, n) r10(i, 0, n)
#define p1n(i, n) p11(i, 1, n)
#define p0n(i, n) p10(i, 0, n)
#define FOR(i, s, e, step) for (int i = s; i <= e; i += step)
#define fora(i, v) for (auto i : (v))
#define fori(i, v) for (auto i = (v).begin(); i != (v).end(); ++i)
#define all(v) (v).begin(), (v).end()
#define all_(v, n) (v) + 1, (v) + (n) + 1
const ld eps = 1e-10;
const ld pi = acosl(-1.0);
const ll mod = 998244353;
template <typename T>
void chmin(T& a, T b) {
a = min(a, b);
}
template <typename T>
void chmax(T& a, T b) {
a = max(a, b);
}
// #define MULTIPLE_TEST_CASES 1
inline void _sol() {
int n, m;
cin >> n >> m;
vi a(n);
vi f(n);
ll sum = 0;
int l = 0;
r0n(i, n) {
cin >> a[i];
sum += a[i];
while (sum > m && l < i) {
sum -= a[l++];
}
if (sum == m) f[i] = 1 + (l == 0 ? 0 : f[l - 1]);
}
cout << *max_element(f.begin(), f.end()) << endl;
}
// signed main() {
int main() {
// freopen(".in", "r",stdin);
// freopen(".out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0);
#ifdef MULTIPLE_TEST_CASES
int t;
cin >> t;
while (t--) {
_sol();
}
#else
_sol();
#endif
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1248kb
input:
10 8 7 6 1 1 1 2 2 1 1 1
output:
2
result:
ok 1 number(s): "2"
Test #2:
score: 10
Accepted
time: 0ms
memory: 1244kb
input:
20 15 15 15 15 6 5 4 3 1 2 1 4 3 1 2 1 1 3 2 5 1
output:
6
result:
ok 1 number(s): "6"
Test #3:
score: 10
Accepted
time: 0ms
memory: 1244kb
input:
50 150 30 83 136 11 2 94 137 127 111 27 150 150 150 150 150 47 150 145 67 150 150 59 143 142 150 18 ...
output:
5
result:
ok 1 number(s): "5"
Test #4:
score: 10
Accepted
time: 0ms
memory: 1244kb
input:
100 10000 2397 9666 164 4643 8586 5876 4272 2648 1874 1206 6920 1732 107 35 778 428 6920 262 888 582...
output:
8
result:
ok 1 number(s): "8"
Test #5:
score: 10
Accepted
time: 0ms
memory: 1256kb
input:
500 278529 33329 243449 856 45 557 153 52 68 9 11 15965 25498 110413 69087 26846 16166 3236 4561 127...
output:
12
result:
ok 1 number(s): "12"
Test #6:
score: 10
Accepted
time: 1ms
memory: 1292kb
input:
5000 1024 369 299 338 137 12 186 10 180 97 117 148 16 8 169 31 44 17 111 24 7 42 12 45 276 67 6 1 2 ...
output:
26
result:
ok 1 number(s): "26"
Test #7:
score: 10
Accepted
time: 3ms
memory: 1592kb
input:
50000 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 1 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 1 ...
output:
1435
result:
ok 1 number(s): "1435"
Test #8:
score: 10
Accepted
time: 4ms
memory: 1852kb
input:
100000 2 2 2 1 1 2 2 1 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 1 1 2 2 2...
output:
1065
result:
ok 1 number(s): "1065"
Test #9:
score: 10
Accepted
time: 8ms
memory: 1856kb
input:
100000 594914243 32593384 70791539 466102281 5146792 10441404 6860910 391592 109128 1123315 1345154 ...
output:
121
result:
ok 1 number(s): "121"
Test #10:
score: 10
Accepted
time: 53ms
memory: 8984kb
input:
1000000 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...
output:
850
result:
ok 1 number(s): "850"