結果
| 問題 |
No.2247 01 ZigZag
|
| コンテスト | |
| ユーザー |
otamay6
|
| 提出日時 | 2023-03-17 21:47:39 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,123 bytes |
| コンパイル時間 | 1,930 ms |
| コンパイル使用メモリ | 194,644 KB |
| 最終ジャッジ日時 | 2025-02-11 12:51:33 |
|
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 42 WA * 8 |
ソースコード
#include<bits/stdc++.h>
#define REP(i,n) for(int i=0,i##_len=int(n);i<i##_len;++i)
#define rep(i,a,b) for(int i=int(a);i<int(b);++i)
#define All(x) (x).begin(),(x).end()
#define rAll(x) (x).rbegin(),(x).rend()
using namespace std;
using ll = long long;
int main(){
int n[2],k;
cin>>n[0]>>n[1]>>k;
string s;
if(n[0]>0) {
s.push_back('0');
n[0]-=1;
}
else {
s.push_back('1');
n[1] -= 1;
}
while (n[0] > 0 || n[1] > 0) {
int num = s.back() - '0';
if (k > 0) {
num ^= 1;
if(n[num] > 0){
s.push_back(num + '0');
n[num]--;
k--;
}
else {
break;
}
}
else {
break;
}
}
cerr << s << " " << n[0] << " " << n[1] << " " << k << endl;
string front(n[0],'0');
string back(n[1], '1');
if (s.back() == '0') {
s.pop_back();
back.push_back('0');
}
if(k > 0) {
cout << "-1" << endl;
}
else {
cout << front + s + back << endl;
}
}
otamay6