#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int descending_compare(const void *a, const void *b){
if (*(int*)a > *(int*)b){
return -1;
}else if (*(int*)a == *(int*)b){
return 0;
}else{
return 1;
}
}
int ascending_compare(const void *a, const void *b){
if (*(int*)a < *(int*)b){
return -1;
}else if (*(int*)a == *(int*)b){
return 0;
}else{
return 1;
}
}
int lower_bound(int *a, int n, int key){
int left, mid, right;
left = 0, right = n;
mid = (left + right)/2;
while ((left+1 != mid || mid+1 != right) && mid != left){
if (key > a[mid]){
left = mid;
}else{
right = mid+1;
}
mid = (left + right)/2;
}
if (a[left] >= key)return left;
if (a[mid] >= key)return mid;
if (a[right] >= key)return right;
return n;
}
unsigned long gcd(unsigned long x, unsigned long y)
{
if (y == 0) {
return x;
} else {
return gcd(y, x % y);
}
}
long long kaijou(int x){
long long rtn = 1;
int i;
for (i = x; i > 1; i--){
rtn = (rtn*i);
}
return rtn;
}
int main(void){
int n;
long long y;
int a, b;
scanf("%d %lld", &n, &y);
for (a = 0; a <= n; a++){
for (b = 0; b <= n; b++){
if (10000*a+5000*b+1000*(n-a-b) == y && a+b+(n-a+b) == n){
printf("%d %d %d\n", a, b, n-a-b);
return 0;
}
}
}
printf("-1 -1 -1\n");
return 0;
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:68:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %lld", &n, &y);
^