Submission #49084

#TimeUsernameProblemLanguageResultExecution timeMemory
49084amiDojave (COCI17_dojave)C++14
28 / 140
4064 ms8940 KiB
#include <bits/stdc++.h> #define sz(c) int(c.size()) #define rep(i,a,b) for (int i=a; i<(b); ++i) #define per(i,a,b) for (int i=(b)-1; i>=(a); --i) #define bin(x) bitset<4>(x) using namespace std; using i64 = long long; int const MAXN=1<<21; int n; int a[MAXN]; int p[MAXN]; int main() { cin.tie(0); ios_base::sync_with_stdio(0); cout<<fixed<<setprecision(10); cin>>n; rep(i,0,1<<n) cin>>a[i]; int N=1<<n; rep(i,0,1<<n) p[N-1-a[i]]=i; int res=N*(N+1)/2; rep(i,0,N) { rep(j,i+1,N) if ((j-i+1)%4==0) { bool ok=true; rep(k,i,j+1) if (p[a[k]]<i || p[a[k]]>j) { ok=false; break; } if (ok) { res-=1; } } } cout<<res<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...