LoginSignup
2
0

More than 3 years have passed since last update.

AtCoder 生活 62日目

Posted at

前回

62日目

今回はC問題を2問を解き、とバーチャル参加を2回しました。

問題 難易度 自力で解けた かかった時間
ABC055 C 28分37秒
ABC053 C 67分46秒

スクリーンショット 2020-05-22 13.02.20.png
スクリーンショット 2020-05-22 18.41.40.png

ABC055_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(){
    ll n,m;
    cin >> n >> m;
    ll ans = 0;
    if(n*2 > m){
        ans += m/2;
    }
    else{
        ans += n;
        m -= n*2;
        ans += m/4;
    }
    cout << ans << endl;
}


解くのにかかった時間:28分37秒

ABC053_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(){
    ll x;
    cin >> x;
    ll ans = x/11;
    ans *= 2;
    if(x%11 <= 6 && x%11 > 0)ans += 1;
    if(6 < x%11) ans += 2;
    cout << ans << endl;
}

解くのにかかった時間:67分46秒
感想:あまりがない場合を覗かないといけないことを忘れていた。

ABC157

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;
    cout << (n+1)/2 << 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(){
    vector<vector<int>> a(3,vector<int>(3));
    rep(i,3){
        rep(j,3) cin >> a[i][j];
    }
    int n;
    cin >> n;
    bool ok = false;
    rep(i,n){
        int s;
        cin >> s;
        rep(i,3){
            rep(j,3)if(a[i][j] == s) a[i][j] = 0;
        }
    }
    rep(i,3) if(a[i][0] == a[i][1] && a[i][0] == a[i][2]) ok = true;
    rep(i,3) if(a[0][j] == a[1][j] && a[0][j] == a[2][j]) ok = ture;
    if(a[0][0] == a[1][1] && a[1][1] == a[2][2]) ok = true;
    if(a[0][2] == a[1][1] && a[1][1] == a[2][0]) ok = true;
    if(ok) cout << "Yes" << endl;
    else cout << "No" << endl;
}

ABC156

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,r;
    cin >> n >> r;
    if(n < 10) cout << 100*(10 - n)+r << endl;
    else cout << r << 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(){
    ll n,k;
    cin >> n >> k;
    ll i = 1;
    ll ans = 0;
    while(i <= n){
        i *= k;
        ans++;
    }
    cout << ans << 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;
    cin >> n;
    ll res = 0;
    ll ans1 = 0;
    ll ans2 = 0;
    vector<int> a(n);
    rep(i,n){
        cin >> a[i];
        res += a[i];
    }
    res /= n;
    rep(i,n){
        int s = abs(a[i] - res);
        ans1 += s*s;
    }
    rep(i,n){
        int s = abs(a[i] - res - 1);
        ans2 += s*s;
    }
    cout << min(ans1,ans2) << endl;
}

最後に

安定してCまで素早く解きたい

難易度 かかった平均時間 解けた問題数
C 28分37秒 2問中1問
2
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
2
0