結果
| 問題 |
No.1021 Children in Classrooms
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-05-30 09:48:52 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 32 ms / 2,000 ms |
| コード長 | 1,942 bytes |
| コンパイル時間 | 1,711 ms |
| コンパイル使用メモリ | 169,428 KB |
| 実行使用メモリ | 6,656 KB |
| 最終ジャッジ日時 | 2024-11-07 04:30:54 |
| 合計ジャッジ時間 | 3,340 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
ソースコード
#define TEMPLATE_USED
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef pair<ll,ll> pl;
typedef vector<pl> vp;
const ll INF=1001001001;
const ll LINF=1001001001001001001;
const ll D4[]={0,1,0,-1,0};
const ll D8[]={0,1,1,0,-1,-1,1,-1,0};
#define _overload3(_1,_2,_3,name,...) name
#define _rep2(i,n) for(ll i=0;i<(n);++i)
#define _rep3(i,a,b) for(ll i=(ll)(a);i<(ll)(b);++i)
#define rep(...) _overload3(__VA_ARGS__,_rep3,_rep2)(__VA_ARGS__)
#define _repe2(i,n) for(ll i=0;i<=(ll)(n);++i)
#define _repe3(i,a,b) for(ll i=(ll)(a);i<=(ll)(b);++i)
#define repe(...) _overload3(__VA_ARGS__,_repe3,_repe2)(__VA_ARGS__)
#define _rrep2(i,n) for(ll i=(ll)(n)-1;i>=0;i--)
#define _rrep3(i,a,b) for(ll i=(ll)(b)-1;i>=(ll)(a);i--)
#define rrep(...) _overload3(__VA_ARGS__,_rrep3,_rrep2)(__VA_ARGS__)
#define _rrepe2(i,n) for(ll i=(ll)(n);i>=0;i--)
#define _rrepe3(i,a,b) for(ll i=(ll)(b);i>=(ll)(a);i--)
#define rrepe(...) _overload3(__VA_ARGS__,_rrepe3,_rrepe2)(__VA_ARGS__)
#define all(x) (x).begin(),(x).end()
template<class T>
bool chmax(T &a,const T &b){if(a<b){a=b;return 1;}return 0;}
template<class T>
bool chmin(T &a,const T &b){if(b<a){a=b;return 1;}return 0;}
template<class T>
using pq=priority_queue<T,vector<T>,greater<T>>;
void solve();
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
solve();
}
void solve(){
/* (´~`) */
ll n,m;cin>>n>>m;
vl a(n);rep(i,n)cin>>a[i];
string s;cin>>s;
ll l=0,r=n-1,k=0;
rep(i,m){
if(s[i]=='R'){
if(k<n-1)++k;
if(k+r-l>=n)--r;
}else{
if(k>0)--k;
else if(l<n-1)++l;
}
}
ll k_end=l>=r?k:k+r-l;
vl ans(n);
rep(i,n){
if(i<=l)ans[k]+=a[i];
else if(i>=r)ans[k_end]+=a[i];
else ans[k+i-l]+=a[i];
}
rep(i,n){
if(i>0)cout<<' ';
cout<<ans[i];
}
cout<<endl;
}