ARC068C X:Yet Another Die Game
int main() { cout <<setprecision(10); ll x; cin >> x; ll eleven = ( x + 10 ) / 11; ll ans ; if(x%11<=6){ ans = 2 * eleven - 1; if(x%11==0){ ans++; } }else{ ans = 2 * eleven ; } cout << ans << endl; }
解法
サイコロは最初、好きな面を上にできるので、1回目の操作をしたときに6を足せるように、1以外のものにしておくのがいい。
そして置けば1回目で6
2回目で5
3回目は6
という風に、i回目の操作での点数を最大化できる
こっから先が実装ゲ~で
これが最適かは分からないが
とりあえず6 を足す 5を足す って感じでやっていくので11の倍数とどんな感じになっているかでぐがー
って頑張ればいけるらしい
記念すべき400AC 目です