-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patholliePS-139.cpp
52 lines (51 loc) · 1.18 KB
/
olliePS-139.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define flash() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int main()
{
flash();
ll n , a , b , c;
cin >> n >> a >> b >> c;
vector<ll> v;
v.push_back(a);
v.push_back(b);
v.push_back(c);
sort(v.begin() , v.end());
if(n % v[0] == 0)
{
cout << n/v[0] << endl;
}
else
{
ll div = (n/v[0]) * v[0];
ll rem = n - div;
vector<ll> fmx;
while(div >= 0)
{
ll mx;
if(rem % v[1] == 0)
{
mx = rem/v[1];
fmx.push_back(div/v[0] + mx);
}
if(rem % v[2] == 0)
{
mx = rem/v[2];
fmx.push_back(div/v[0] + mx);
}
else
{
if((rem % v[2]) % v[1] == 0)
{
mx = (rem/v[2]) + (rem % v[2])/v[1];
fmx.push_back(div/v[0] + mx);
}
}
div = div - v[0];
rem = n - div;
}
cout << *max_element(fmx.begin() , fmx.end()) << endl;
}
return 0;
}