Task: | Karkit |
Sender: | lain |
Submission time: | 2021-10-04 12:36:03 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.01 s | details |
#2 | ACCEPTED | 0.01 s | details |
#3 | ACCEPTED | 0.01 s | details |
#4 | ACCEPTED | 0.01 s | details |
#5 | ACCEPTED | 0.01 s | details |
Code
#include <bits/stdc++.h> #include <iostream> using namespace std; constexpr int k = 2; int c[2]; int d[101]; int f(int x) { if (x < c[0] && x < c[1]) return 0; if (x < 0) return INT_MIN; if (d[x]) return d[x]; int u = INT_MIN; for (int i = 0; i < k; i++) { u = max(u, f(x-c[i])+1); } d[x] = u; return d[x]; } int main() { int n, a, b; cin >> n >> a >> b; c[0] = a; c[1] = b; cout << f(n) << '\n'; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
100 1 1 |
correct output |
---|
100 |
user output |
---|
100 |
Test 2
Verdict: ACCEPTED
input |
---|
1 100 100 |
correct output |
---|
0 |
user output |
---|
0 |
Test 3
Verdict: ACCEPTED
input |
---|
50 2 3 |
correct output |
---|
25 |
user output |
---|
25 |
Test 4
Verdict: ACCEPTED
input |
---|
100 17 3 |
correct output |
---|
33 |
user output |
---|
33 |
Test 5
Verdict: ACCEPTED
input |
---|
5 5 5 |
correct output |
---|
1 |
user output |
---|
1 |