제출 #477462

#제출 시각아이디문제언어결과실행 시간메모리
477462kakayoshiHolding (COCI20_holding)C++14
22 / 110
1 ms204 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3") using namespace std; typedef long long int ll; typedef pair<int,int> pi; typedef pair<int, pair<int,int> > pii; #define forw(i,a,b) for (ll i=a;i<=b;i++) #define forb(i,a,b) for (ll i=a;i>=b;i--) #define fast {ios::sync_with_stdio(false); cin.tie(0); } #define fi first #define se second #define pu push #define puf push_front #define pb push_back #define pof pop_front #define pob pop_back #define fr front #define all(a) a.begin(),a.end() const ll oo=1e18; const ll mod=1e9+7; const ll maxN=5e5+5; const ll tx[4]={-1,1,0,0}; const ll ty[4]={0,0,-1,1}; const ll base=31; void solve() { int n, l, r, k; cin>>n>>l>>r>>k; int a[n]; for(int i = 0;i < n;i ++){ cin>>a[i]; } int ans = INT_MAX; for(int bit = 0;bit < (1<<n);bit ++){ if(__builtin_popcount(bit) == n - l + 1){ int sm = 0; int cost = 0; int h = l; for(int i = 0;i < n;i ++){ if(!((1<<i)&bit))continue; cost += h - (i + 1); h ++; sm += a[i]; } if(cost <= k){ ans = min(ans, sm); } } } cout<<ans<<endl; } int main() { fast; //freopen("swap.inp","r",stdin); //freopen("swap.out","w",stdout); solve(); 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...