Submission #606660
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0;i<(n);++i) #define loop for(;;) #define trace(var) cerr<<">>> "<<#var<<" = "<<var<<endl; #define all(v) begin(v),end(v) #define pb push_back #define inf (1e9) #define eps (1e-9) using Integer = long long; using Real = long double; const Real PI = acosl(-1); using P = pair<int, int>; template<class S, class T> inline ostream& operator<<(ostream&os, pair<S,T> p) { return os << '(' << p.first << ", " << p.second << ')'; } template<class T, class U> inline ostream& operator<<(ostream&os, tuple<T,U> t) { return os << '(' << get<0>(t) << ", " << get<1>(t) << ')'; } template<class S, class T, class U> inline ostream& operator<<(ostream&os, tuple<S,T,U> t) { return os << '(' << get<0>(t) << ", " << get<1>(t) << ", " << get<2>(t) << ')'; } template<class T> inline ostream& operator<<(ostream&os, set<T> v) { os << "(set"; for (T item: v) os << ' ' << item; os << ")"; return os; } template<class T> inline ostream& operator<<(ostream&os, vector<T> v) { if (v.size() == 0) { return os << "(empty)"; } os << v[0]; for (int i=1, len=v.size(); i<len; ++i) os << ' ' << v[i]; return os; } template<class T> inline istream& operator>>(istream&is, vector<T>&v) { rep (i, v.size()) is >> v[i]; return is; } // ^ > v < int dx[] = { -1, 0, 1, 0 }; int dy[] = { 0, 1, 0, -1 }; using vi = vector<int>; using vvi = vector<vi>; using vd = vector<double>; using vvd = vector<vd>; using vb = vector<bool>; const string A = "Takahashi"; const string B = "Aoki"; int main() { cin.tie(0); ios::sync_with_stdio(0); cout.setf(ios::fixed); cout.precision(10); random_device dev; mt19937 rand(dev()); int n, k; cin >> n >> k; vi s(n); cin >> s; { int mr = 0; int ren = 0; rep (i, n) { if (s[i] == 0) { ++ren; mr = max(mr, ren); } else { ren=0; } } if (mr > 0) { cout << n << endl; return 0; } if (k == 0) { cout << mr << endl; return 0; } } Integer ans = 0; Integer ac = s[0]; if (ac <= k) ans = 1; int j = 0; int len = 1; for (int i = 1; i < n; ++i) { ac *= s[i]; ++len; while (ac > k) { --len; ac /= s[j]; ++j; } ans = max<Integer>(ans, len); } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 列 |
User | cympfh |
Language | C++11 (GCC 4.9.2) |
Score | 100 |
Code Size | 2525 Byte |
Status | AC |
Exec Time | 47 ms |
Memory | 1312 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 20 / 20 | 80 / 80 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt |
Subtask1 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_corner.txt, subtask1_killer1.txt, subtask1_killer2.txt, subtask1_killer3.txt, subtask1_killer4.txt, subtask1_killer5.txt |
Subtask2 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_corner.txt, subtask1_killer1.txt, subtask1_killer2.txt, subtask1_killer3.txt, subtask1_killer4.txt, subtask1_killer5.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 25 ms | 804 KB |
subtask0_sample_02.txt | AC | 26 ms | 796 KB |
subtask0_sample_03.txt | AC | 27 ms | 780 KB |
subtask0_sample_04.txt | AC | 27 ms | 796 KB |
subtask1_01.txt | AC | 26 ms | 916 KB |
subtask1_02.txt | AC | 26 ms | 796 KB |
subtask1_03.txt | AC | 28 ms | 920 KB |
subtask1_04.txt | AC | 26 ms | 788 KB |
subtask1_05.txt | AC | 26 ms | 920 KB |
subtask1_06.txt | AC | 27 ms | 924 KB |
subtask1_07.txt | AC | 28 ms | 916 KB |
subtask1_08.txt | AC | 28 ms | 924 KB |
subtask1_09.txt | AC | 27 ms | 804 KB |
subtask1_10.txt | AC | 28 ms | 844 KB |
subtask1_11.txt | AC | 26 ms | 804 KB |
subtask1_12.txt | AC | 27 ms | 928 KB |
subtask1_13.txt | AC | 27 ms | 800 KB |
subtask1_14.txt | AC | 27 ms | 812 KB |
subtask1_15.txt | AC | 26 ms | 928 KB |
subtask1_16.txt | AC | 26 ms | 804 KB |
subtask1_17.txt | AC | 27 ms | 800 KB |
subtask1_corner.txt | AC | 26 ms | 920 KB |
subtask1_killer1.txt | AC | 26 ms | 800 KB |
subtask1_killer2.txt | AC | 26 ms | 928 KB |
subtask1_killer3.txt | AC | 26 ms | 808 KB |
subtask1_killer4.txt | AC | 25 ms | 920 KB |
subtask1_killer5.txt | AC | 26 ms | 804 KB |
subtask2_01.txt | AC | 36 ms | 1184 KB |
subtask2_02.txt | AC | 37 ms | 1184 KB |
subtask2_03.txt | AC | 46 ms | 1228 KB |
subtask2_04.txt | AC | 36 ms | 1184 KB |
subtask2_05.txt | AC | 44 ms | 1184 KB |
subtask2_06.txt | AC | 46 ms | 1308 KB |
subtask2_07.txt | AC | 39 ms | 1192 KB |
subtask2_08.txt | AC | 40 ms | 1304 KB |
subtask2_09.txt | AC | 40 ms | 1188 KB |
subtask2_10.txt | AC | 40 ms | 1188 KB |
subtask2_11.txt | AC | 40 ms | 1196 KB |
subtask2_12.txt | AC | 41 ms | 1304 KB |
subtask2_13.txt | AC | 40 ms | 1192 KB |
subtask2_14.txt | AC | 39 ms | 1184 KB |
subtask2_15.txt | AC | 47 ms | 1312 KB |
subtask2_16.txt | AC | 40 ms | 1304 KB |
subtask2_17.txt | AC | 40 ms | 1300 KB |