結果
問題 |
No.1021 Children in Classrooms
|
ユーザー |
|
提出日時 | 2020-04-11 11:43:31 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,425 bytes |
コンパイル時間 | 1,643 ms |
コンパイル使用メモリ | 169,016 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-18 20:30:12 |
合計ジャッジ時間 | 3,337 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 WA * 1 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define llong long long int main() { int n, m; cin >> n >> m; vector<int> a(n); rep(i, n) cin >> a[i]; string s; cin >> s; int minval = 0; int minpos = 0; int maxval = 0; int maxpos = 0; int total = 0; rep(i, s.length()) { bool left = s[i] == 'L'; if(left) { total -= 1; if(minval > total) { minval = total; minpos = i; } } else { total += 1; if(maxval < total) { maxval = total; maxpos = i; } } } vector<int> result(n, 0); rep(i, n) { if(minval + i < 0) { if(maxval + i >= n) { if(minpos < maxpos) { result[n - 1 - (maxval - total)] += a[i]; } else { result[0 + (total - minval)] += a[i]; } } else { result[0 + (total - minval)] += a[i]; } } else { if(maxval + i >= n) { result[n - 1 - (maxval - total)] += a[i]; } else { result[i + total] += a[i]; } } } rep(i, n) { cout << result[i]; if(i < n-1) cout << " "; } cout << "\n"; }