1245 2022. 03. 28 19:12:01 ZsofiaKeresztely Főzet készítés cpp11 Elfogadva 50/50 377ms 4228 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp make_pair

int main(){
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int t, a, b;
  cin>>t;
  vector<vector<int> > dp(501, vector<int>(501, INT_MIN));
  vector<pair<int, int> > c;
  c.pb(mp(1, 1));
  for (int i=2; i<32; i++)
  {
    for (int j=1; j<=i; j++)
    {
      if (__gcd(i, j) == 1)
      {
        c.pb(mp(i, j));
        c.pb(mp(j, i));
      }
    }
  }
  dp[0][0]=0;
  for (auto x : c)
  {
    for (int a=500; a>=0; a--)
    {
      for (int b=500; b>=0; b--)
      {
        if (a>=x.first&&b>=x.second)
        {
          dp[a][b] = max(dp[a][b], dp[a-x.first][b-x.second]+1);
        }
      }
    }
  }
  for (int a=1; a<501; a++)
  {
    for (int b=1; b<501; b++)
    {
      dp[a][b] = max(dp[a][b], max(dp[a][b-1], dp[a-1][b]));
    }
  }
  for (int i=0; i<t; i++)
  {
    cin>>a>>b;
    cout<<dp[a][b]<<"\n";
  }
  return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 367ms 3856 KiB
2 Elfogadva 0/0 377ms 3936 KiB
3 Elfogadva 3/3 363ms 3920 KiB
4 Elfogadva 2/2 370ms 3924 KiB
5 Elfogadva 3/3 361ms 3936 KiB
6 Elfogadva 2/2 372ms 3940 KiB
7 Elfogadva 3/3 363ms 3972 KiB
8 Elfogadva 2/2 347ms 3980 KiB
9 Elfogadva 3/3 347ms 3988 KiB
10 Elfogadva 2/2 354ms 4012 KiB
11 Elfogadva 2/2 365ms 4020 KiB
12 Elfogadva 2/2 358ms 4036 KiB
13 Elfogadva 2/2 344ms 4056 KiB
14 Elfogadva 2/2 349ms 4076 KiB
15 Elfogadva 2/2 352ms 4096 KiB
16 Elfogadva 2/2 344ms 4100 KiB
17 Elfogadva 2/2 340ms 4116 KiB
18 Elfogadva 2/2 338ms 4132 KiB
19 Elfogadva 2/2 372ms 4148 KiB
20 Elfogadva 3/3 368ms 4172 KiB
21 Elfogadva 3/3 365ms 4188 KiB
22 Elfogadva 3/3 361ms 4200 KiB
23 Elfogadva 3/3 375ms 4228 KiB