-
Notifications
You must be signed in to change notification settings - Fork 179
Expand file tree
/
Copy pathA.cpp
More file actions
59 lines (59 loc) · 1.85 KB
/
Copy pathA.cpp
File metadata and controls
59 lines (59 loc) · 1.85 KB
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
53
54
55
56
57
58
59
#include<bits/stdc++.h>
#define int long long
#define pb emplace_back
#define mp make_pair
#define mt make_tuple
#define all(v) v.begin(),v.end()
#define rep(i,start,lim) for(long long (i)=(start);i<(lim);i++)
#define revrep(i,n) for(long long i=n-1;i>=0;i--)
#define boost ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define osit ostream_iterator<int> output (cout," ")
#define endl '\n'
#define f first
#define s second
#define PI 3.141592653589793
#define MOD 1000000007
#define set0(x) memset(x,0,sizeof(x))
#define set1(x) memset(x,1,sizeof(x))
using namespace std;
typedef vector<int> vi;
typedef list<int> li;
typedef pair<int,int> ii;
typedef vector<ii> vii;
typedef tuple<int, int, int> iii;
template<typename T> T gcd(T a,T b){if(a==0) return b; return gcd(b%a,a);}
template<typename P> P dectobin(P a){if(a==0)return 0; else return(a%2 + 10*dectobin(a/2));}
template<typename Y> Y bintodec(Y a){int ans=0,b=1,t=a; while (t){int ld=t%10; t/=10;ans+=ld* b;b=b*2;} return ans; }
template<typename H> H modExp(H x, H n){ int r=1; while(n>0){if(n%2==1){r=(r*x)%MOD;}x=(x*x)%MOD;n/=2;}return r;}
template<typename T> T isPowerOfTwo(T x){return x && (!(x & (x - 1)));}
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
//template<typename T> T extendedEuclid(T A,T B){if(B==0){d=A; x=1;y=0;}else{ extendedEuclid(B,A%B);int temp=x; x=y; y=temp-(A
//B)*y;}}
int32_t main(){
boost;osit;
int t;
cin>>t;
while(t--){
int n;
cin>>n;
bool ok=false;
if(n%3==0) cout<<n/3<<" "<<0<<" "<<0<<endl;
else if(n%5==0) cout<<0<<" "<<n/5<<" "<<0<<endl;
else if(n%7==0) cout<<0<<" "<<0<<" "<<n/7<<endl;
else{
for(int i=1;i<=n/3;i++){
for(int j=1;j<=(n-3*i)/5;j++){
int k=n-(3*i+5*j);
if(k%7==0){
cout<<i<<" "<<j<<" "<<k/7<<endl;
ok=true;
break;
}
}
if(ok) break;
}
if(ok==false) cout<<-1<<endl;
}
}
return 0;
}