diff options
Diffstat (limited to 'codeforces')
| -rwxr-xr-x | codeforces/SettlementOfGuineaPigs/main | bin | 0 -> 17488 bytes | |||
| -rwxr-xr-x | codeforces/SettlementOfGuineaPigs/main.cpp | 33 | ||||
| -rw-r--r-- | codeforces/SettlementOfGuineaPigs/main_input0.txt | 13 | ||||
| -rw-r--r-- | codeforces/SettlementOfGuineaPigs/main_output0.txt | 6 |
4 files changed, 52 insertions, 0 deletions
diff --git a/codeforces/SettlementOfGuineaPigs/main b/codeforces/SettlementOfGuineaPigs/main Binary files differnew file mode 100755 index 0000000..f500644 --- /dev/null +++ b/codeforces/SettlementOfGuineaPigs/main diff --git a/codeforces/SettlementOfGuineaPigs/main.cpp b/codeforces/SettlementOfGuineaPigs/main.cpp new file mode 100755 index 0000000..95d9ee5 --- /dev/null +++ b/codeforces/SettlementOfGuineaPigs/main.cpp @@ -0,0 +1,33 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main () { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int tt; + cin >> tt; + while(tt--) { + int n; + cin >> n; + int cur = 0; + int pigs = 0; + int ans = 0; + auto get = [&](int x) { + return x == 0 ? 0 : (1 + x / 2); + }; + for (int i = 0; i < n; i++) { + int x; + cin >> x; + if (x == 1) { + pigs += 1; + } else { + ans = max(ans, get(cur) + pigs); + cur += pigs; + pigs = 0; + } + } + ans = max(ans, get(cur) + pigs); + cout << ans << '\n'; + } +} diff --git a/codeforces/SettlementOfGuineaPigs/main_input0.txt b/codeforces/SettlementOfGuineaPigs/main_input0.txt new file mode 100644 index 0000000..d60568c --- /dev/null +++ b/codeforces/SettlementOfGuineaPigs/main_input0.txt @@ -0,0 +1,13 @@ +6 +3 +1 1 1 +3 +2 2 2 +5 +1 1 1 2 1 +10 +1 2 1 2 1 2 1 2 1 2 +20 +1 2 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 1 1 +20 +2 1 1 2 1 1 2 1 2 2 1 1 1 2 2 1 1 1 1 2 diff --git a/codeforces/SettlementOfGuineaPigs/main_output0.txt b/codeforces/SettlementOfGuineaPigs/main_output0.txt new file mode 100644 index 0000000..ea5c498 --- /dev/null +++ b/codeforces/SettlementOfGuineaPigs/main_output0.txt @@ -0,0 +1,6 @@ +3 +0 +3 +4 +12 +9 |
