# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
863916 | Rifal | Cigle (COI21_cigle) | C++14 | 1058 ms | 444 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include <fstream>
//#define endl '\n'
#define mod 1000000007
#define INF 900000000
using namespace std;
//ofstream fout("intel.out");
//ifstream fin("intel.in");
int main()
{
ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
int n; cin >> n; int arr[n];
for(int i = 0; i < n; i++) { cin >> arr[i]; }
int sol = 0;
for(int i = 0; i < (1<<n); i++) {
vector<int> v, v2;
long long sum = 0;
int ans = 0;
for(int j = 0; j < n; j++) {
if((i&(1<<j)) > 0) {
v.push_back(arr[j]);
sum += arr[j];
if(!v2.empty() && v2.size() != 1 && j != n-1 && (i&(1<<(j+1)) > 0 )) {
while(v2.size() > 1 && sum >= v2.back()) {
if(sum == v2.back()) ans++;
sum -= v2.back();
v2.pop_back();
}
}
}
else {
v2 = v;
sum = arr[j];
if(!v2.empty() && v2.size() != 1 && j != n-1 && (i&(1<<(j+1)) > 0)) {
while(v2.size() > 1 && sum >= v2.back()) {
if(sum == v2.back()) ans++;
sum -= v2.back();
v2.pop_back();
}
}
v.clear(); v.push_back(arr[j]);
}
}
sol = max(sol,ans);
}
cout << sol;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |