競プロっておいしいの?(仮)

ABC 066 参加記録(大嘘)

今回はARCに出ました。

Cが解ければパフォーマンスいいらしいですし(

A問題:ringing

全部足して

a+b+c-std::max({a,b,c});

B問題:SS

#include<iostream>
#include<string>
using namespace std;
#define REP(i,n) for (int i=0;i<(n);i++)
string S;
int main(){
    ios_base::sync_with_stdio(false);
    cin>>S;
    int siz=S.size();
    REP(i,siz){
        //奇数文字列 or 一文字も消していない場合は当てはまらないためスキップ
        // siz-i = 今見ている文字列の長さ
        if( (siz-i)%2==1 || i==0 ){
            continue;
        }
        // 初めから (siz-i)/2 文字分をaとする
        // 同じく、aの後ろから(siz-i)/2 文字分をbとする
        // abcabcd siz-i=6のとき a=abc b=abc のように
        string  a=S.substr(0,((siz-i)/2)),
                b=S.substr((siz-i)/2,(siz-i)/2);
        // a==b なら条件を満たす。
        if(a == b){
            cout<<siz-i;
            break;
        }
    }
    return 0;
}

 

C問題:pushpush

偶奇っぽいのでといた。

偶奇全滅してから嬉しい()

まず、はじめの数を置く。

次に置く数は 前か後ろにくっつければいい
(N-i)%2==1ならばpush_front(a[i])、そうでなければ、push_back(a[i])

(ここでのiは0~N-1まで)

でおしまい。

らっく~

D以下解けないもんね()

おまけレート


f:id:nafmo17:20170701225633j:image

861→888 +27 (highest!!!)

ゾロ目だー