1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AtCoder 生活 57日目

Posted at

前回

57日目

今回はA問題を2問、B問題を2問、C問題を2問を解き、とバーチャル参加を1回して、
ABC168に参加しました。

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC002|A|◯|1分35秒|
|ABC002|B|◯|13分14秒|
|ABC001|A|◯|1分5秒|
|ABC001|B|◯|60分22秒|
|ABC071|C|✕|69分19秒|
|ABC070|C|✕|94分44秒|

スクリーンショット 2020-05-17 15.01.23.png

スクリーンショット 2020-05-17 22.41.26.png

ABC002

A


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int x,y;
    cin >> x >> y;
    cout << max(x,y) << endl;
}

解くのにかかった時間:1分35秒

B


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    string w;
    cin >> w;
    int t = w.size();
    rep(i,t){
        if(w[i] == 'a' || w[i] == 'i' || w[i] == 'u' || w[i] == 'e' || w[i] == 'o' ){
            continue;
        }
        else cout << w[i];
    }
    cout << endl;
}

解くのにかかった時間:13分14秒

ABC001

A


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a-b << endl;
}

解くのにかかった時間:1分5秒

B


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int s;
    cin >> s;
    if(s < 1000)cout << 0 << s/100 << endl;
    if(1000 <= s && s <= 5000) cout << s/100 << endl;
    if(6000 <= s && s <= 30000) cout << s/1000 + 50 << endl;
    if(35000 <= s && s <= 70000) cout << (s/1000 - 30)/5 + 80 << endl;
    if(70000 < s)cout << 89 << endl;
}

解くのにかかった時間:60分22秒
感想:70kmがどの範囲に入るかで少し悩んだ

ABC166

A


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    string s;
    cin >> s;
    if(s[1] == 'B')cout << "ARC" << endl;
    else cout << "ABC" << endl;
}

B


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int n,k;
    cin >> n >> k;
    vector<int> d(k);
    set<int> s;
    rep(i,k){
        cin >> d[i];
        vector<int> a(d[i]);
        rep(j,d[i]){
            cin >> a[j];
            s.insert(a[j]);
        }
    }
    int t = s.size();
    cout << n - t << endl;
}

C


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n,m;
    cin >> n >> m;
    vector<int> h(n+1);
    vector<bool> s(n+1);
    for(int i = 1;i <= n;i++){
        cin >> h[i];
        s[i] = true;
    }
    for(int i = 1;i <= m;i++){
        int a,b;
        cin >> a >> b;
        if(h[a] <= h[b]) s[a] = false;
        if(h[a] >= h[b]) s[b] = false;
    }
    int ans = 0;
    for(int i = 1;i <= n;i++){
        if(s[i])ans++;
    }
    cout << ans << endl;
}

D


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;

int main(){
    ll x;
  	cin >> x;
    for(int i = -200; i <= 200;i++){
        for(int j = -200; j <= 200;j++){
            ll s = pow(i,5);
            ll t = pow(j,5);
            if((s - t) == x){
                cout << i << " " << j << endl;
                return 0;
            }
        }
    }
}

感想:C問題は少し間に合わなかったが、久しぶりに解いて自力でDまで解けた。

ABC071_C


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    vector<ll> a(n);
    rep(i,n)cin >> a[i];
    ll x = -1,y = 0;
    sort(a.rbegin(),a.rend());
    rep(i,n-1){
        if(a[i] != a[i+1]) continue;
        if(x == -1){
            x = a[i];
            i++;
        }
        else{
            y = a[i];
            break;
        }
    }
    ll ans = x*y;
    cout << ans << endl;
}

解くのにかかった時間:69分19秒
感想:どうxとyを定めればいいのかわからなかった。

ABC070_C


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

ll gcd(ll a,ll b){
    if(b == 0) return a;
    return gcd(b,a%b);
}

ll lcm(ll a,ll b){
    ll g = gcd(a,b);
    return a / g * b;
}

int main(){
    int n;
    cin >> n;
    ll ans = 1;
    rep(i,n){
        ll t;
        cin >> t;
        ans = lcm(ans,t);
    }
    cout << ans << endl;
}

解くのにかかった時間:94分44秒
感想:なかなか答えにたどり着けなかった。

ABC168

A


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    n %= 10;
    if(n == 2 || n == 4 || n == 5 || n == 7 || n == 9) cout << "hon" << endl;
    else if(n == 0 || n == 1 || n == 6 || n == 8) cout << "pon" << endl;
    else cout << "bon" << endl;
}

B


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int k;
    cin >> k;
    string s;
    cin >> s;
    int t = s.size();
    if(t <= k)cout << s << endl;
    else{
        s = s.substr(0,k);
        cout << s << "..." << endl;
    }
}

C


# include <bits/stdc++.h>
# define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

double pi = 3.141592653589793;


int main(){
    int a,b,h,m;
    cin >> a >> b >> h >> m;
    double x,y;
    x = 30*h + 0.5*m;
    y = m*6;
    double r = abs(x-y);
    double k = min(r,360-r);
    k /= 180;
    double c = cos(pi*k);
    double xx = a*a + b*b - 2*a*b*c;
    double ans = pow(xx,0.5);
    cout << fixed << setprecision(10) << ans << endl; 
}

最後に

ABC168のC問題で始めてcosやsinを使おうとしたのでかなり手間取ってしまった。ラジアンとπラジアンをちゃんと区別するべきだった。

難易度 かかった平均時間 解けた問題数
A 1分20秒 2問中2問
B 36分33秒 2問中2問
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?