結果
問題 |
No.2247 01 ZigZag
|
ユーザー |
![]() |
提出日時 | 2023-03-17 21:51:30 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 933 bytes |
コンパイル時間 | 222 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 78,444 KB |
最終ジャッジ日時 | 2024-09-18 10:42:02 |
合計ジャッジ時間 | 4,454 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 43 WA * 7 |
ソースコード
''' K+1個のブロック a_0,...,a_K a_i>=1 a_{2i}個の0 a_{2i+1}個の1 辞書順最小にするためには a_0を極力大きく a_2,a_4,...,a_{2i}を1 ''' N,M,K=map(int,input().split()) if K==0: if N*M>0: print(-1) else: print("0"*N+"1"*M) exit() Ncash=N Mcash=M A=[0 for i in range(K+1)] for i in range(1,K+1,2): A[i]+=1 M-=1 if M<0: print(-1) exit() A[K-(K+1)%2]+=M for i in range(0,K+1,2): A[i]+=1 N-=1 if N<0: N=Ncash M=Mcash B=[0 for i in range(K+1)] for i in range(0,K+1,2): B[i]+=1 M-=1 if M<0: print(-1) exit() B[K-(K+1)%2]+=M for i in range(1,K+1,2): B[i]+=1 N-=1 if N<0: print(-1) exit() B[1]+=N for i in range(K+1): print(str((i+1)%2)*A[i],end="") print() exit() else: A[0]+=N for i in range(K+1): print(str(i%2)*A[i],end="") print()