結果
問題 | No.2042 RGB Caps |
ユーザー | 沙耶花 |
提出日時 | 2022-08-19 21:26:47 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 948 bytes |
コンパイル時間 | 4,170 ms |
コンパイル使用メモリ | 252,804 KB |
最終ジャッジ日時 | 2025-01-31 00:37:29 |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 16 |
ソースコード
#include <stdio.h> #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main() { int n,k;cin>>n>>k; vector<char> t(n,'-'); rep(i,k){ int a; char c; cin>>a>>c; t[a-1] = c; } string ans = ""; int x =0,y=0,z=0; rep(i,n){ int m = max({x,y,z}); if(x==m&&y==m&&z==m)m++; bool f = true; if(t[i]=='-')f = true; else{ if(t[i]=='R'){ if(x!=m){ x++; ans += 'R'; continue; } } if(t[i]=='G'){ if(y!=m){ y++; ans += 'G'; continue; } } if(t[i]=='B'){ if(z!=m){ z++; ans += 'B'; continue; } } } if(x!=m){ x++; ans += 'R'; } else if(y!=m){ y++; ans += 'G'; } else{ z++; ans += 'B'; } } cout<<ans<<endl; return 0; }