結果
| 問題 | 
                            No.1021 Children in Classrooms
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-04-10 22:30:43 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,228 bytes | 
| コンパイル時間 | 1,054 ms | 
| コンパイル使用メモリ | 60,152 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-09-15 21:00:06 | 
| 合計ジャッジ時間 | 2,546 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 14 WA * 3 | 
ソースコード
#include <iostream>
#include <vector>
using namespace std;
int main(){
    int N,M;
    cin >> N >> M;
    vector<int> a(N);
    for(int i=0;i<N;i++)cin >> a[i];
    
    int lp=0,rp=N-1,lt=0,rt=N-1;
    string cmd;
    cin >> cmd;
    for(int p=0;p<M;p++){
        if(cmd[p]=='R'){
            lp++;rp++;
            if(rp==N){
                rp--;
                rt--;
                if(lt==N)lt--;
                if(rt<lt)rt=lt;
            }
            if(lp>rp)lp=rp;
        }else{
            lp--;rp--;
            if(lp==-1){
                lp++;
                lt++;
                if(rt==-1)rt++;
                if(lt>rt)lt=rt;
            }
            if(rp<lp)rp=lp;
        }
    }
    
    for(int p=0;p<N;p++){
        if(p>0)cout << " ";
        
        if(p<lp)cout << 0;
        else if(p==lp){
            int sum=0;
            for(int i=0;i<=lt;i++){
                sum+=a[i];
            }
            cout << sum;
        }
        else if(lp<p && p<rp)cout << a[lt+(p-lp)];
        else if(p==rp){
            int sum=0;
            for(int i=rt;i<N;i++){
                sum+=a[i];
            }
            cout << sum;
        }
        else cout << 0;
    }cout << endl;
    return 0;
}