Language: C++

import math as m
D,G = map(int,input().split())
L = []
for i in range(1,D+1):
    p,c = map(int,input().split())
    L.append([100*i + c/p, i, p, c])
goal = G
count = 0
# 見かけの点数でソート
L.sort()
# 見かけの点数が大きい順から問題を解いていく
# i番目を全問解いた見かけのiscoreについて　
# goal - iscore >= 0 ならば i番目を解くことは確定
for i in range(D-1,-1,-1):
    iscore = 100 * L[i][1] * L[i][2] + L[i][3]
    if goal - iscore >= 0:
        goal -= iscore
        count += L[i][2]
        if goal == 0:
            break
# goal - iscore < 0 ならば　
# i番目をj問解いたscore_jが goal - score_j <= 0 となるような 最小のjをメモ
# まだ解いていない他の問題についても同様にjをメモ(存在しない場合もあり)　これらのうち最小のjを採用する
    elif goal - iscore < 0:
        adopt = 100
        for k in range(i,-1,-1):
            score = 100 * L[k][1] * L[k][2] + L[k][3]
            if goal - score <= 0:
                j = min(m.ceil(goal/(100 * L[k][1])),L[k][2])
                if j < adopt:
                    adopt = j
        count += adopt
        break
print(count)

Compiler output:
a.cc:9:3: error: invalid preprocessing directive #\U0000898b\U0000304b\U00003051\U0000306e\U000070b9\U00006570\U00003067\U000030bd\U000030fc\U000030c8
    9 | # 見かけの点数でソート
      |   ^~~~~~~~~~~~~~~~~~~~
a.cc:11:3: error: invalid preprocessing directive #\U0000898b\U0000304b\U00003051\U0000306e\U000070b9\U00006570\U0000304c\U00005927\U0000304d\U00003044\U00009806\U0000304b\U00003089\U0000554f\U0000984c\U00003092\U000089e3\U00003044\U00003066\U00003044\U0000304f
   11 | # 見かけの点数が大きい順から問題を解いていく
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:12:3: error: extended character 　 is not valid in an identifier
   12 | # i番目を全問解いた見かけのiscoreについて　
      |   ^
a.cc:12:3: error: invalid preprocessing directive #i\U0000756a\U000076ee\U00003092\U00005168\U0000554f\U000089e3\U00003044\U0000305f\U0000898b\U0000304b\U00003051\U0000306eiscore\U0000306b\U00003064\U00003044\U00003066\U00003000
   12 | # i番目を全問解いた見かけのiscoreについて　
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:13:3: error: invalid preprocessing directive #goal
   13 | # goal - iscore >= 0 ならば i番目を解くことは確定
      |   ^~~~
a.cc:21:3: error: invalid preprocessing directive #goal
   21 | # goal - iscore < 0 ならば　
      |   ^~~~
a.cc:21:21: error: extended character 　 is not valid in an identifier
   21 | # goal - iscore < 0 ならば　
      |                     ^
a.cc:22:3: error: invalid preprocessing directive #i\U0000756a\U000076ee\U00003092j\U0000554f\U000089e3\U00003044\U0000305fscore_j\U0000304c
   22 | # i番目をj問解いたscore_jが goal - score_j <= 0 となるような 最小のjをメモ
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:23:3: error: invalid preprocessing directive #\U0000307e\U00003060\U000089e3\U00003044\U00003066\U00003044\U0000306a\U00003044\U00004ed6\U0000306e\U0000554f\U0000984c\U0000306b\U00003064\U00003044\U00003066\U00003082\U0000540c\U000069d8\U0000306bj\U00003092\U000030e1\U000030e2
   23 | # まだ解いていない他の問題についても同様にjをメモ(存在しない場合もあり)　これらのうち最小のjを採用する
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:23:72: error: extended character 　 is not valid in an identifier
   23 | # まだ解いていない他の問題についても同様にjをメモ(存在しない場合もあり)　これらのうち最小のjを採用する
      |                                                                        ^
a.cc:1:1: error: 'import' does not name a type
    1 | import math as m
      | ^~~~~~
a.cc:1:1: note: C++20 'import' only available with '-fmodules-ts'