제출 #1320922

#제출 시각아이디문제언어결과실행 시간메모리
1320922metall1caKitchen (BOI19_kitchen)C++20
0 / 100
24 ms47828 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define ld long double const int INF=1e9; int main() { #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n,m,k,ok=0,mx=LLONG_MIN; cin>>n>>m>>k; vector<ll> v(n),v1(m); for(ll i=0;i<n;i++) { cin>>v[i]; if(v[i]<k) { ok=1; break; } mx=max(mx,v[i]); } for(ll i=0;i<m;i++) { cin>>v1[i]; } if(k>v1.size() || ok==1) { cout<<"Impossible\n"; } else { ll ans=0; map<ll,pair<ll,ll>> dp3; vector<ll> v2; map<ll,ll> dp; dp3[0].first=1; for(ll i=0;i<m;i++) { for(ll j=mx+v1[i]-1;j>=v1[i];j--) { if(dp3[j-v1[i]].first==1 && j-v1[i]<=mx) { dp3[j].first=1; dp3[j].second=dp3[j-v1[i]].second+1; if(dp3[j].second>=k) { dp[j]=1; v2.push_back(j); } } } } for(ll i=0;i<=mx;i++) { if(dp[i]==0) { continue; } for(ll j=0;j<m;j++) { dp[i+v1[j]]=1; v2.push_back(i+v1[j]); } } sort(v2.begin(),v2.end()); if(v2.size()==0) { cout<<"Impossible"; return 0; } for(ll i=0;i<n;i++) { auto u=lower_bound(v2.begin(),v2.end(),v[i]); ll op=u-v2.begin(); ans+=abs(v2[op]-v[i]); } cout<<ans<<"\n"; } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

kitchen.cpp: In function 'int main()':
kitchen.cpp:9:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     freopen("input.txt","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
kitchen.cpp:10:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     freopen("output.txt","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...