# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
191346 | Ruxandra985 | Kitchen (BOI19_kitchen) | C++14 | 31 ms | 1016 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define DIMN 310
using namespace std;
int a[DIMN] , b[DIMN];
int v[DIMN] , tt[DIMN * DIMN] , ok[DIMN * DIMN];
int n , k;
int maybe (int sum){
int nod , elem , solved , poz , i , put , outof;
nod = sum;
elem = 0;
while (nod){
v[++elem] = tt[nod];
nod = nod - b[tt[nod]];
}
/// v e lista pe care vreau eu sa o am , cu suma fixa sum
/// eu la suma asta am maximizat nr de elem distincte
solved = 0;
int s = 0;
for (i=1;i<=elem;i++){
if (b[v[i]] > n)
solved++;
else s += b[v[i]];
}
if (s / n + solved >= k)
return 1;
return 0;
}
int main()
{
FILE *fin = stdin;
FILE *fout = stdout;
int m , sum , i , val , sol;
fscanf (fin,"%d%d%d",&n,&m,&k);
sum = 0;
for (i=1;i<=n;i++){
fscanf (fin,"%d",&a[i]);
sum += a[i];
if (a[i] < k){
fprintf (fout,"Impossible");
return 0;
}
}
sort (a + 1 , a + n + 1);
for (i=1;i<=m;i++){
fscanf (fin,"%d",&b[i]);
}
sort (b + 1 , b + m + 1);
/// ai putea face un rucsac asa de idee
ok[0] = 1;
tt[0] = -1;
for (i = 1 ; i <= m ; i++ ){
for (val = 300 * 300 ; val - b[i] >= 0 ; val--){
if (!ok[val] && ok[val - b[i]]){
ok[val] = 1;
tt[val] = i;
}
}
}
/// 300 ^ 3
sol = 2000000000;
for (val = sum ; val <= 300 * 300 ; val++){
if (ok[val] && maybe(val)){
sol = min (sol , val - sum);
break;
}
}
if (sol == 2000000000){
fprintf (fout,"Impossible");
}
else {
fprintf (fout,"%d",sol);
}
return 0;
}
컴파일 시 표준 에러 (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... |