1113 2022. 03. 03 22:57:37 peti1234 Főzet készítés cpp14 Elfogadva 50/50 97ms 4216 KiB
#include <bits/stdc++.h>

using namespace std;
const int c=500;
int dp[c+1][c+1];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    /*
    eszrevetelek: (a, b) csak akkor szerepelhet, ha a es b relativ prim
    ha (a, b) szerepel, akkor minden olyan (c, d) par is, ahol (c<a es d<b), tehat (a, 1) is (a-1, 1), (a-2, 1) ... (1, 1) is
    1+2+...+32=528>500, tehat (a, b) csak akkor szerepelhet, ha a<32 es b<32
    hasonlo szamolassal kijon, hogy nem eri meg olyat felvenni, ahol a>10 es b>10
    dp-vel ki lehet szamolni elore minden, dp[i][j] az (i, j)-re a megoldas

    idokomplexitas: 500^2*db, ahol db beveheto fozetek szama kevesebb mint 500
    lehet meg optimailizalni, de ez is eleg
    */
    for (int a=1; a<32; a++) {
        for (int b=1; b<32; b++) {
            if (a>10 && b>10 || __gcd(a, b)>1) continue;
            // az (a, b) part lehet hogy erdemes bevenni
            for (int i=c-a; i>=0; i--) {
                for (int j=c-b; j>=0; j--) {
                    // fontos hogy visszafele menjenek a for ciklusok, igy nem lehet tobbszor bevenni
                    dp[i+a][j+b]=max(dp[i+a][j+b], dp[i][j]+1);
                }
            }
        }
    }

    // mar csak ki kell irni az eredmenyeket
    int t;
    cin >> t;
    for (int i=1; i<=t; i++) {
        int x, y;
        cin >> x >> y;
        cout << dp[x][y] << "\n";
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 90ms 3848 KiB
2 Elfogadva 0/0 87ms 3896 KiB
3 Elfogadva 3/3 87ms 3812 KiB
4 Elfogadva 2/2 86ms 3820 KiB
5 Elfogadva 3/3 86ms 3820 KiB
6 Elfogadva 2/2 87ms 3820 KiB
7 Elfogadva 3/3 86ms 3964 KiB
8 Elfogadva 2/2 90ms 3848 KiB
9 Elfogadva 3/3 89ms 3992 KiB
10 Elfogadva 2/2 90ms 4004 KiB
11 Elfogadva 2/2 90ms 4016 KiB
12 Elfogadva 2/2 89ms 4036 KiB
13 Elfogadva 2/2 89ms 4048 KiB
14 Elfogadva 2/2 90ms 4060 KiB
15 Elfogadva 2/2 97ms 4084 KiB
16 Elfogadva 2/2 90ms 4092 KiB
17 Elfogadva 2/2 90ms 4112 KiB
18 Elfogadva 2/2 93ms 4128 KiB
19 Elfogadva 2/2 94ms 4132 KiB
20 Elfogadva 3/3 92ms 4160 KiB
21 Elfogadva 3/3 93ms 4148 KiB
22 Elfogadva 3/3 89ms 4200 KiB
23 Elfogadva 3/3 90ms 4216 KiB