Practice makes perfect!
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
inline int gcd(int a,int b){
if(b==0)
return a;
return gcd(b,a%b);
}
int main(){
int n;
scanf("%d",&n);
int ans=0;
for(int i=1;i<=n;++i){
for(int j=i+1;j<=n;++j){
for(int k=j+1;k<=n;k++){
if(gcd(i,j)==1&&gcd(j,k)==1&&gcd(i,k)==1){
++ans;
}
}
}
}
printf("%d\n",ans);
return 0;
}
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
int n,k;
int a[200007];
int ans[200007];
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i){
scanf("%d",a[i]);
}
std::sort(a+1,a+n+1);
n=std::unique(a+1,a+n+1)-a-1;
for(int i=1,j=0;i<=n;++i){
for(;j<i&&a[i]-a[j+1]>k;++j)
;
ans[i]=ans[j]+1;
}
printf("%d\n",ans[n]);
return 0;
}
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
int f[5007][5007];
int a[5007],b[5007];
int n;
using namespace std;
int main(){
scanf("%d",n);
for(int i=1;i<=n;++i){
scanf("%d",a[i]);
}
for(int i=1;i<=n;++i){
scanf("%d",b[i]);
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
f[i][j]=max(f[i][j],std::max(f[i-1][j],f[i][j-1]));
if(a[i]==b[i]){
f[i][j]=std::max(f[i][j],f[i-1][j-1]+1);
}
}
}
printf("%d",f[n][n]);
return 0;
}
#include<cctype>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string z;
cin>>z;
string s="";
for(int i=0;i<z.length();){
char ch=z[i];
if(i+1<z.length()&&isdigit(z[i+1])){
i++;
int count=0;
while(i<z.length()&&isdigit(z[i])){
count=count*10+(z[i]-'0');
i++;
}
for(int j=0;j<count;++j){
s+=ch;
}
}
else{
s+=ch;
i++;
}
}
cout<<s<<endl;
return 0;
}
#include<iostream>
#include<vector>
using namespace std;
int N;
bool query(int i,int j);
int main(){
cin>>N;
int candidate=0;
int count=1;
for(int i=1;i<N;++i){
if(count==0){
candidate=i;
count=1;
}
else{
if(query(candidate,i)==false||query(i,candidate)==false){
count--;
}
else{
count++;
}
}
}
cout<<candidate<<endl;
return 0;
}