1133 | 2022. 03. 13 16:23:56 | ZsofiaKeresztely | Főzet készítés | cpp11 | Időlimit túllépés 0/50 | 550ms | 47096 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<vector<int> > relprim(500);
relprim[1].push_back(1);
for (int i=1; i<500; i++)
{
for (int j=1; j<i; j++)
{
if (__gcd(i, j)==1)
{
relprim[i].push_back(j);
relprim[j].push_back(i);
}
}
}
vector<vector<vector<int> > > dp(501, vector<vector<int> >(501, vector<int>(35)));
//a, b, i
int ak, bk;
for (int a=1; a<=500; a++)
{
for (int b=1; b<=500; b++)
{
for (int i=sqrt(2*a); i>0; i--)
{
ak=0; bk=0;
for (int x : relprim[i])
{
ak+=i; bk+=x;
if (a-ak<0||b-bk<0)
{
break;
}
else
{
dp[a][b][i]=max(dp[a][b][i], dp[a-ak][b-bk][i+1]+ak/i);
}
}
/*
a darab van összesen az elsőből
b darab a másodikból
dp[a][b][i] = hány darabot tudunk csinálni maximum, ha az elsőből mindig legalább i-t használunk
*/
}
}
}
int t, a, b;
cin>>t;
for (int i=0; i<t; i++)
{
cin>>a>>b;
cout<<dp[a][b][1]<<"\n";
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 0/50 | ||||||
1 | Időlimit túllépés | 0/0 | 479ms | 47032 KiB | |||
2 | Időlimit túllépés | 0/0 | 460ms | 46996 KiB | |||
3 | Időlimit túllépés | 0/3 | 481ms | 47024 KiB | |||
4 | Időlimit túllépés | 0/2 | 460ms | 47072 KiB | |||
5 | Időlimit túllépés | 0/3 | 460ms | 46960 KiB | |||
6 | Időlimit túllépés | 0/2 | 504ms | 46952 KiB | |||
7 | Időlimit túllépés | 0/3 | 456ms | 47096 KiB | |||
8 | Időlimit túllépés | 0/2 | 497ms | 46980 KiB | |||
9 | Időlimit túllépés | 0/3 | 477ms | 46984 KiB | |||
10 | Időlimit túllépés | 0/2 | 493ms | 46984 KiB | |||
11 | Időlimit túllépés | 0/2 | 470ms | 47052 KiB | |||
12 | Időlimit túllépés | 0/2 | 485ms | 46920 KiB | |||
13 | Időlimit túllépés | 0/2 | 547ms | 46988 KiB | |||
14 | Időlimit túllépés | 0/2 | 499ms | 46988 KiB | |||
15 | Időlimit túllépés | 0/2 | 550ms | 46924 KiB | |||
16 | Időlimit túllépés | 0/2 | 483ms | 46988 KiB | |||
17 | Időlimit túllépés | 0/2 | 523ms | 46992 KiB | |||
18 | Időlimit túllépés | 0/2 | 488ms | 46988 KiB | |||
19 | Időlimit túllépés | 0/2 | 490ms | 46988 KiB | |||
20 | Időlimit túllépés | 0/3 | 500ms | 46984 KiB | |||
21 | Időlimit túllépés | 0/3 | 541ms | 46980 KiB | |||
22 | Időlimit túllépés | 0/3 | 503ms | 46988 KiB | |||
23 | Időlimit túllépés | 0/3 | 483ms | 47052 KiB |