結果

問題 No.745 letinopia raoha
ユーザー santafe1006
提出日時 2018-11-14 23:11:33
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 30 ms / 2,000 ms
コード長 1,159 bytes
コンパイル時間 242 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 10,624 KB
最終ジャッジ日時 2024-12-24 13:52:09
合計ジャッジ時間 1,084 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

a,b,c,d = map(int,input().split())
p = 0
ax = 0
if d >= 10 :
    print("Impossible")
else :
    if a + b <= 100 :
        p = 100*a + 50*b
    else :
        b1,b2 = divmod(b,100)
        if b2 > 0 :
            # ax + b2 = 100
            ax = 100 - b2
            if ax < a :
                a = a - ax
            else :
                ax = a
                a = 0
        
            
        a1,a2 = divmod(a,100) 
        
        #print(a1,a2,ax,b1,b2)
        #↑
        #ここまでは正しい
        
        for i in range(b1) :
            p += 50 * 100 * 2**i
            #print("i = {} p = {}".format(i,p))
            
        p += 50 * b2 * 2**b1
        #print("p2 = {}".format(p))
        p += 100 * ax * 2**b1
        #print("p3 = {}".format(p))
        
        #if b1 == 0 :
        if b2 == 0 :
            basen = 0
        else :
            basen = 1
        #print(b1+basen)
        for j in range(b1+basen,b1+basen+a1) :
            p += 100 * 100 * 2**j
            #print("j = {} p = {}".format(j,p))
        p += 100 * a2 * 2**(b1+basen+a1)
    print("Possible")
    print(p)
        
            
            
 
    
    
0