日々精進

aikoと旅行とプログラミング

AtCoder Beginner Contest #64

問題はこちらからどうぞ.

abc064.contest.atcoder.jp

問題A: RGB Cards

#include <iostream>

using namespace std;

int main(){
  int r, g, b;
  cin >> r >> g >> b;
  cout << ((r * 100 + g * 10 + b)%4==0?"YES":"NO") << endl;
}

問題B: Traveling AtCoDeer Problem

#include<bits/stdc++.h>

#define rep(i, n) REP(i, 0, n)
#define REP(i, a, n) for(int i = a ; i < (int)n ; i++)
#define INF 1e9

using namespace std;

signed main(){
  int N;
  int _max, _min, a;
  cin >> N;
  _max = -1; _min = INF;
  rep(i,N){
    cin >> a;
    _max = max(a, _max);
    _min = min(a, _min);
  }

  cout << _max - _min << endl;
}

問題C: Colorful Leaderboard

#include<iostream>

#define rep(i, n) REP(i, 0, n)
#define REP(i, a, n) for(int i = a ; i < (int)n ; i++)

using namespace std;

signed main(){
  int N;
  int cnt[13] = {0};
  int a;
  cin >> N;
  
  rep(i, N){
    cin >> a;
    cnt[a/400]++;
  }

  int c1 = 0;
  rep(i, 8){
    c1 += (cnt[i] > 0?1:0);
  }
  int c2 = 0;
  REP(i, 8, 13){
    c2 += cnt[i];
  }
  
  cout << (c1==0?1:c1) << " " << c1 + c2 << endl;
}

問題D: Insertion

#include<bits/stdc++.h>

#define rep(i, n) REP(i, 0, n)
#define REP(i, a, n) for(int i = a ; i < (int)n ; i++)

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

int gcd(int a,int b){return b?gcd(b,a%b):a;}
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};

signed main(){
  int n;
  string s1, s2, ans;
  
  int l, r;
  cin >> n;
  cin >> s1;
  l = r = 0;
  ans = "";
  int a = 0;
  rep(i, s1.size()){
    if(s1[i] == '(') l++;
    else r++;    
    if(a > l - r) a = l-r;
  }
  
  rep(i, abs(a)){
    ans += "(";
  }
  ans += s1;  
  rep(i, l-r-a){
    ans += ")";
  }

  cout << ans << endl;
}