結果
問題 | No.1021 Children in Classrooms |
ユーザー |
![]() |
提出日時 | 2024-12-31 02:26:28 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 124 ms / 2,000 ms |
コード長 | 1,128 bytes |
コンパイル時間 | 2,084 ms |
コンパイル使用メモリ | 196,688 KB |
最終ジャッジ日時 | 2025-02-26 17:16:33 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll=long long; int main(){ ll n,m; cin >> n >> m; vector<ll>a(n); for (ll i = 0; i < n; i++) { cin >> a[i]; } string s; cin >> s; ll l=0,left=0,right=n-1,r=n-1; for (ll i = 0; i < s.size(); i++) { if (s[i]=='L') { if (l==0) { left=min(left+1,n-1); }else{ l--; } r=max(r-1,0LL); }else{ if (r==n-1) { right=max(0LL,right-1); }else{ r++; } l=min(n-1,l+1); } } vector<ll>b(n,0); ll now=0; for (ll i = 0; i < n; i++) { if (i<left) { now+=a[i]; }else if (i==left) { now+=a[i]; b[l]=now; now=0; }else if (i<right) { b[l+(i-left)]=a[i]; }else{ b[r]+=a[i]; } } for (ll i = 0; i < b.size(); i++) { cout<< b[i] << ' '; } cout << endl; }