ABC085参加記
A.
出力のところに最初の4文字を2018に変えるとあったので、
cout << "2018" + s.substr(4) << endl;
B.
ソートして直前の要素と重複しているかをカウント
sort(all(d)); REP(i,1,n) { if (d[i-1] != d[i]) ++cnt; }
ソート後にuniqueで前にユニークな値を出せるらしい
auto result = std::unique(v.begin(), v.end());
C.
10000円札をa枚、5000円札をb枚、1000円札をc枚とすると、
b = (y - 1000n - 9000a) / 4000
なので、aをループさせてbが整数になればok
D.
一時間ほど考えた結果、使い終わった後に投げれば良いので、 一番大きなaとそれより大きいbしかいらないので、
int sum = 0; int cnt= 0; REP(i,0,n) { if (b[i] >= a[0]) { sum += b[i]; ++cnt; if (sum >= h) break; } else break; } cnt += max(0, (h - sum + a[0] - 1) / a[0]); cout << cnt << endl;