Submission #1151859

#TimeUsernameProblemLanguageResultExecution timeMemory
1151859Robert_juniorKitchen (BOI19_kitchen)C++20
9 / 100
1093 ms528 KiB
#include<bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define ins insert #define pb push_back #define F first #define S second const int N = 4e5+100, M = 5e5 + 7; int a[501], b[501], n, m, k; int check(vector<int>v){ int sum = 0; if(v.size() < k) return -1; for(int i = n; i >= 1; i--){ sort(all(v)); int cnt = 0, sz = v.size() - k; for(int j = v.size() - 1; j >= 0; j--){ if(v[j] > 0) cnt++; } if(cnt < k){ return -1; } sum+=a[i]-k; for(int j = v.size() - 1; j >= sz; j--){ v[j]--; } } int res = 0; for(auto it : v) res += it; if(res < sum) return -1; return res - sum; } void solve(){ cin>>n>>m>>k; vector<int>v; for(int i = 1; i <= n; i++){ cin>>a[i]; if(a[i] < k){ cout<<"Impossible"; return; } } for(int i = 1; i <= m; i++){ cin>>b[i]; v.pb(b[i]); } sort(a + 1, a + n + 1); sort(b + 1, b + m + 1); int res = 1e9; if(check(v) != -1) res = check(v); while(true){ sort(all(v)); int mn = 1e9, pos = -1; for(int i = 0; i < v.size(); i++){ vector<int>v1; for(int j = 0; j < v.size(); j++){ if(i == j) continue; v1.pb(v[j]); } int ok = check(v1); if(ok == -1) continue; res = min(res, ok); if(ok < mn){ mn = ok; pos = i; } } if(pos == -1) break; vector<int>v1; for(int i = 0; i < v.size(); i++){ if(i == pos) continue; v1.pb(v[i]); } v = v1; } if(res == 1e9){ cout<<"Impossible\n"; } else{ cout<<res; } } main(){ ios_base :: sync_with_stdio(false); cin.tie(nullptr); int t = 1; //cin>>t; for(int i = 1; i <= t; i++){ //cout<<"Case "<<i<<": "; solve(); } }

Compilation message (stderr)

kitchen.cpp:82:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   82 | main(){
      | ^~~~
#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...