Skip to content

Commit 96865be

Browse files
authored
Merge pull request larissalages#212 from sarif410/master
Added Codeforces contest Solutions
2 parents e440136 + 87c2aa3 commit 96865be

File tree

3 files changed

+155
-0
lines changed

3 files changed

+155
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#include<bits/stdc++.h>
2+
#define int long long
3+
#define pb emplace_back
4+
#define mp make_pair
5+
#define mt make_tuple
6+
#define all(v) v.begin(),v.end()
7+
#define rep(i,start,lim) for(long long (i)=(start);i<(lim);i++)
8+
#define revrep(i,n) for(long long i=n-1;i>=0;i--)
9+
#define boost ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
10+
#define osit ostream_iterator<int> output (cout," ")
11+
#define endl '\n'
12+
#define f first
13+
#define s second
14+
#define PI 3.141592653589793
15+
#define MOD 1000000007
16+
#define set0(x) memset(x,0,sizeof(x))
17+
#define set1(x) memset(x,1,sizeof(x))
18+
using namespace std;
19+
typedef vector<int> vi;
20+
typedef list<int> li;
21+
typedef pair<int,int> ii;
22+
typedef vector<ii> vii;
23+
typedef tuple<int, int, int> iii;
24+
template<typename T> T gcd(T a,T b){if(a==0) return b; return gcd(b%a,a);}
25+
template<typename P> P dectobin(P a){if(a==0)return 0; else return(a%2 + 10*dectobin(a/2));}
26+
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; }
27+
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;}
28+
template<typename T> T isPowerOfTwo(T x){return x && (!(x & (x - 1)));}
29+
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
30+
//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
31+
//B)*y;}}
32+
int32_t main(){
33+
boost;osit;
34+
int t;
35+
cin>>t;
36+
while(t--){
37+
int n;
38+
cin>>n;
39+
bool ok=false;
40+
if(n%3==0) cout<<n/3<<" "<<0<<" "<<0<<endl;
41+
else if(n%5==0) cout<<0<<" "<<n/5<<" "<<0<<endl;
42+
else if(n%7==0) cout<<0<<" "<<0<<" "<<n/7<<endl;
43+
else{
44+
for(int i=1;i<=n/3;i++){
45+
for(int j=1;j<=(n-3*i)/5;j++){
46+
int k=n-(3*i+5*j);
47+
if(k%7==0){
48+
cout<<i<<" "<<j<<" "<<k/7<<endl;
49+
ok=true;
50+
break;
51+
}
52+
}
53+
if(ok) break;
54+
}
55+
if(ok==false) cout<<-1<<endl;
56+
}
57+
}
58+
return 0;
59+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#include<bits/stdc++.h>
2+
#define int long long
3+
#define pb emplace_back
4+
#define mp make_pair
5+
#define mt make_tuple
6+
#define all(v) v.begin(),v.end()
7+
#define rep(i,start,lim) for(long long (i)=(start);i<(lim);i++)
8+
#define revrep(i,n) for(long long i=n-1;i>=0;i--)
9+
#define boost ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
10+
#define osit ostream_iterator<int> output (cout," ")
11+
#define endl '\n'
12+
#define f first
13+
#define s second
14+
#define PI 3.141592653589793
15+
#define MOD 1000000007
16+
#define set0(x) memset(x,0,sizeof(x))
17+
#define set1(x) memset(x,1,sizeof(x))
18+
using namespace std;
19+
typedef vector<int> vi;
20+
typedef list<int> li;
21+
typedef pair<int,int> ii;
22+
typedef vector<ii> vii;
23+
typedef tuple<int, int, int> iii;
24+
template<typename T> T gcd(T a,T b){if(a==0) return b; return gcd(b%a,a);}
25+
template<typename P> P dectobin(P a){if(a==0)return 0; else return(a%2 + 10*dectobin(a/2));}
26+
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; }
27+
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;}
28+
template<typename T> T isPowerOfTwo(T x){return x && (!(x & (x - 1)));}
29+
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
30+
//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
31+
//B)*y;}}
32+
int32_t main(){
33+
boost;osit;
34+
int t;
35+
cin>>t;
36+
while(t--){
37+
int n,k;
38+
cin>>n>>k;
39+
int arr[n],sum=0;
40+
rep(i,0,n) cin>>arr[i];
41+
sort(arr,arr+n);
42+
for(int i=n-1;i>=(n-k-1);i--) sum+=arr[i];
43+
cout<<sum<<endl;
44+
}
45+
return 0;
46+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#include<bits/stdc++.h>
2+
#define int long long
3+
#define pb emplace_back
4+
#define mp make_pair
5+
#define mt make_tuple
6+
#define all(v) v.begin(),v.end()
7+
#define rep(i,start,lim) for(long long (i)=(start);i<(lim);i++)
8+
#define revrep(i,n) for(long long i=n-1;i>=0;i--)
9+
#define boost ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
10+
#define osit ostream_iterator<int> output (cout," ")
11+
#define endl '\n'
12+
#define f first
13+
#define s second
14+
#define PI 3.141592653589793
15+
#define MOD 1000000007
16+
#define set0(x) memset(x,0,sizeof(x))
17+
#define set1(x) memset(x,1,sizeof(x))
18+
using namespace std;
19+
typedef vector<int> vi;
20+
typedef list<int> li;
21+
typedef pair<int,int> ii;
22+
typedef vector<ii> vii;
23+
typedef tuple<int, int, int> iii;
24+
template<typename T> T gcd(T a,T b){if(a==0) return b; return gcd(b%a,a);}
25+
template<typename P> P dectobin(P a){if(a==0)return 0; else return(a%2 + 10*dectobin(a/2));}
26+
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; }
27+
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;}
28+
template<typename T> T isPowerOfTwo(T x){return x && (!(x & (x - 1)));}
29+
template<typename T> T lcm(T a,T b) {return a*b/gcd(a,b);}
30+
//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
31+
//B)*y;}}
32+
int32_t main(){
33+
boost;osit;
34+
int t;
35+
cin>>t;
36+
while(t--){
37+
int n;
38+
cin>>n;
39+
int a=n-1,b=n;
40+
vii v;
41+
rep(i,0,n-1){
42+
v.pb(mp(a,b));
43+
b=(a+b+1)/2;
44+
a--;
45+
}
46+
cout<<b<<endl;
47+
rep(i,0,n-1) cout<<v[i].f<<" "<<v[i].s<<endl;
48+
}
49+
return 0;
50+
}

0 commit comments

Comments
 (0)