結果
| 問題 | 
                            No.2247 01 ZigZag
                             | 
                    
| コンテスト | |
| ユーザー | 
                             tamato
                         | 
                    
| 提出日時 | 2023-03-17 21:35:14 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 50 ms / 2,000 ms | 
| コード長 | 1,002 bytes | 
| コンパイル時間 | 215 ms | 
| コンパイル使用メモリ | 82,272 KB | 
| 実行使用メモリ | 71,488 KB | 
| 最終ジャッジ日時 | 2024-09-18 16:05:56 | 
| 合計ジャッジ時間 | 3,367 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 50 | 
ソースコード
import sys
input = sys.stdin.readline
mod = 998244353
N, M, K = map(int, input().split())
if N == 0:
    if K != 0:
        print(-1)
        exit()
    else:
        print("1" * M)
        exit()
elif M == 0:
    if K != 0:
        print(-1)
        exit()
    else:
        print("0" * N)
        exit()
if K == 0:
    print(-1)
    exit()
if N == M:
    if K > N + M - 1:
        print(-1)
        exit()
else:
    if K > min(N, M) * 2:
        print(-1)
        exit()
if K & 1:
    x = K // 2
    S = ["0" * (N - x)]
    for _ in range(x):
        S.append("1")
        S.append("0")
    S.append("1" * (M - x))
    print("".join(S))
else:
    if K == min(N, M) * 2 and M > N:
        x = K // 2
        print("10" * x + "1" * (M - N))
    else:
        x = K // 2
        S = ["0" * (N - x)]
        for _ in range(x):
            S.append("1")
            S.append("0")
        S.pop()
        for _ in range(M - x):
            S.append("1")
        S.append("0")
        print("".join(S))
            
            
            
        
            
tamato