Pagini recente » Statistici Munteanu Ilinca (ilincu) | Monitorul de evaluare | Cod sursa (job #758705) | Cod sursa (job #1271943) | Cod sursa (job #1238414)
#include <cstdio>
#include <algorithm>
#define LL long long
using namespace std;
LL Nr[7], Sum[7], Ans, Max1, Max2, Min1, Min2, s;
int main(){
freopen("plus.in", "r", stdin);
freopen("plus.out", "w", stdout);
scanf("%lld %lld %lld %lld %lld %lld %lld", &s, &Nr[1], &Sum[1], &Nr[2], &Sum[2], &Nr[3], &Sum[3]);
Max1 = max((LL)0, Nr[2] * Sum[2]);
Max2 = max((LL)0, Nr[3] * Sum[3]);
Min1 = min((LL)0, Nr[2] * Sum[2]);
Min2 = min((LL)0, Nr[3] * Sum[3]);
for(int i = 0; i <= Nr[1]; ++i){
if(Sum[2]==0){
if(Sum[3] == 0 && s == 0)
Ans += (Nr[2] + 1) * (Nr[3] + 1);
else
if(Sum[3] != 0)
if(s / Sum[3] >= 0 && s / Sum[3] <= Nr[3])
Ans += Nr[2] + 1;
}
else
if(Sum[3] == 0){
if(s / Sum[2] >= 0 && s / Sum[2] <= Nr[2])
Ans += Nr[3] + 1;
}
else
if(min(s - Min1, Max2) - max(s - Max1, Min2) + 1 >= 0)
Ans += min(s - Min1, Max2) - max(s - Max1, Min2) + 1;
s -= Sum[1];
}
printf("%lld", Ans);
return 0;
}