SHIINBLOG

AtCoder Beginner Contest 128

はい. AtCoder Beginner Contest 128 です

f:id:zeronosu77108:20190527000245p:plain f:id:zeronosu77108:20190527000304p:plain

今回は酷い. AC になったのは, A と B だけでした(:3」∠)
とりあえず,この2つをまとめておきます.

C以降は勉強して解けたら追記していきます.


A - Apple Pie

問題文
リンゴが 3 つの欠片になるのだから,足して割るだけ.

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

int main(void) {
    int a,p;
    cin >> a >> p;
    cout << (a*3+p)/2 << endl;
}



B - Guidebook

問題文
index 置いてソートするだけ.

#include <iostream>
#include <vector>
#include <utility>
#include <string>
#include <numeric>
#include <algorithm>

using namespace std;


int main(void) {
    long n;
    vector< pair<string, int> > ass;
    cin >> n;

    for (long i=0; i<n; i++) {
        pair<string, int> tmp;
        cin >> tmp.first >> tmp.second;
        ass.push_back(tmp);
    }

    vector<int> index(ass.size());
    iota(index.begin(), index.end(), 0);


    sort(index.begin(),
         index.end(),
             [&](long x, long y){if( ass[x].first != ass[y].first) return ass[x].first<ass[y].first; return ass[x].second>ass[y].second;}
    );

    sort(ass.begin(), ass.end());

    for(auto i: index){
        cout << i+1 << endl;
    }
}





C問題以上は,明日以降にちゃんと考えて解いたら追記します.