beet's soil

競プロのことなど

AtCoder Beginner Contest 064

5th 一桁順位は初なのでうれしい

BのFAを取るぞという強い気持ちでね

【A - RGB Cards】

はい。

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  int a,b,c;
  cin>>a>>b>>c;
  int r=a*100+b*10+c;
  cout<<(r%4?"NO":"YES")<<endl;
  return 0;
}
【B - Traveling AtCoDeer Problem】

max-minが最適な雰囲気を感じるので自分を信じる。
42秒で無事FA(やったぜ。

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  int n;
  cin>>n;
  int a[n];
  for(int i=0;i<n;i++) cin>>a[i];
  cout<<*max_element(a,a+n)-*min_element(a,a+n)<<endl;
  return 0;
}
【C - Colorful Leaderboard】

やるだけやんけと思うが300ってことはなんか罠がありそう->全員自由の時ですね(完)。

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  int n;
  cin>>n;
  int a[n];
  for(int i=0;i<n;i++) cin>>a[i];
  int x=0;
  int e[8]={};
  for(int i=0;i<n;i++){
    if(a[i]<400) e[0]=1;
    else if(a[i]<800) e[1]=1;
    else if(a[i]<1200) e[2]=1;
    else if(a[i]<1600) e[3]=1;
    else if(a[i]<2000) e[4]=1;
    else if(a[i]<2400) e[5]=1;
    else if(a[i]<2800) e[6]=1;
    else if(a[i]<3200) e[7]=1;
    else x++;
  }
  int y=0;
  for(int i=0;i<8;i++) y+=e[i];
  cout<<max(y,1LL)<<" "<<y+x<<endl;
  return 0;
}
【D - Insertion】

い つ も の
validなカッコ列系は開きまくった後に閉じまくるのが最適で辞書順も最小になるのでそうする。

#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  int n;
  string s;
  cin>>n>>s;
  int op=0,mi=0;
  for(int i=0;i<(int)s.size();i++){
    if(s[i]=='(') op++;
    else op--;
    mi=min(mi,op);
  }
  for(int i=0;i<-mi;i++) s='('+s,op++;
  for(int i=0;i<op;i++) s+=')';
  cout<<s<<endl;
  return 0;
}
【おまけ】