Language: C++

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include <bits/stdc++.h>
using namespace std;
inline int read()
{
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
inline void write(int x)
{
    if(x<0)
	{
    	putchar('-');
		x=-x;
	}
    if(x>9)
		write(x/10);
    putchar(x%10+'0');
}
int main()
{
	ios::sync_with_stdio(false);
	int n,m;
	n=read();
	m=read();
	for(register int i=0;i<=n;i++)
	{
		for(register int j=0;j<=n-i;j++)
		{
		    k=n-i-j;
			if(i*10000+j*5000+k*1000==m)
			{
				write(i);
				putchar(' ');
				write(j);
				putchar(' ');
				write(k);
				puts("");
				return 0;
			}
		}
	}
    puts("-1 -1 -1");
	return 0;
}

Compiler output:
a.cc:22:39: warning: bad option '-fwhole-program' to pragma 'optimize' [-Wpragmas]
   22 | #pragma GCC optimize("-fwhole-program")
      |                                       ^
a.cc:29:41: warning: bad option '-fstrict-overflow' to pragma 'optimize' [-Wpragmas]
   29 | #pragma GCC optimize("-fstrict-overflow")
      |                                         ^
a.cc:31:41: warning: bad option '-fcse-skip-blocks' to pragma 'optimize' [-Wpragmas]
   31 | #pragma GCC optimize("-fcse-skip-blocks")
      |                                         ^
a.cc:45:51: warning: bad option '-funsafe-loop-optimizations' to pragma 'optimize' [-Wpragmas]
   45 | #pragma GCC optimize("-funsafe-loop-optimizations")
      |                                                   ^
a.cc:50:17: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   50 | inline int read()
      |                 ^
a.cc:50:17: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
a.cc:50:17: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
a.cc:50:17: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
a.cc:58:24: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   58 | inline void write(int x)
      |                        ^
a.cc:58:24: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
a.cc:58:24: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
a.cc:58:24: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
a.cc:69:10: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   69 | int main()
      |          ^
a.cc:69:10: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
a.cc:69:10: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
a.cc:69:10: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
a.cc: In function 'int main()':
a.cc:75:26: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   75 |         for(register int i=0;i<=n;i++)
      |                          ^
a.cc:77:34: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   77 |                 for(register int j=0;j<=n-i;j++)
      |                                  ^
a.cc:79:21: error: 'k' was not declared in this scope
   79 |                     k=n-i-j;
      |                     ^