Submission #01491
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #include<bits/stdc++.h> #define F first #define S second #define RIGHT d.size()-1 #define LEFT 0 using namespace std; typedef pair< int , int > P; typedef pair<string, P > SPP; main(){ deque<SPP> d; d.clear(); int k; //k=命令の数 char a; string b; int c; int chear[1001]; //番地人用の椅子の数 int kaiten; int isu; queue< int > noweat; cin>>k>>kaiten>>isu; for ( int i=1;i<=isu;i++){ cin>>chear[i]; } for ( int i=0;i<k;i++){ cin>>a>>b>>c; if (a== 'L' ){ //左に並ぶ if (d.size()>0&&d[LEFT].F==b&&d[LEFT].S.F==c){ d[LEFT].S.S++; } else { d.push_front(SPP(b,P(c,1))); } } else if (a== 'R' ){ //右に並ぶ if (d.size()>0&&d[RIGHT].F==b&&d[RIGHT].S.F==c){ d[RIGHT].S.S++; } else { d.push_back(SPP(b,P(c,1))); } } else if (a== 'C' ){ //Call int mpos=-1; for ( int i=0;i<d.size()&&mpos==-1;i++){ if (d[i].F==b&&d[i].S.F==c){ mpos=i; } } if (mpos!=-1&&d[mpos].S.S>=c&&chear[c]>0){ //座れる chear[c]--; deque<SPP>::iterator it=d.begin()+mpos; d.erase(it); noweat.push(c); if (mpos!=0&&mpos!=d.size()&&d[mpos].F==d[mpos-1].F&&d[mpos].S.F==d[mpos-1].S.F){ //結合 d[mpos-1].S.S+=d[mpos].S.S; it=d.begin()+mpos; d.erase(it); } if (noweat.size()>kaiten){ chear[noweat.front()]++; noweat.pop(); } } } } if (!d.empty()){ for ( int j=0;j<d.size();j++){ cout<<d[j].F<< "," <<d[j].S.F<< "," <<d[j].S.S<<endl; } } else { cout<< "Perfect" <<endl; } } |
ステータス
項目 | データ |
---|---|
問題 | 0165 - お詫びの準備 |
ユーザー名 | ei1417 |
投稿日時 | 2015-10-27 16:35:46 |
言語 | C++11 |
状態 | Accepted |
得点 | 1 |
ソースコード長 | 1583 Byte |
最大実行時間 | 550 ms |
最大メモリ使用量 | 6472 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | ALL | 1 / 1 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # |
---|---|---|---|---|
DangerInput1.txt | AC | 444 ms | 728 KB |
1
|
DangerInput2.txt | AC | 550 ms | 6472 KB |
1
|
DangerInput3.txt | AC | 442 ms | 2052 KB |
1
|
MyInput1.txt | AC | 11 ms | 1728 KB |
1
|
MyInput2.txt | AC | 12 ms | 1828 KB |
1
|
MyInput3.txt | AC | 10 ms | 1932 KB |
1
|
MyInput4.txt | AC | 11 ms | 1904 KB |
1
|
MyInput5.txt | AC | 11 ms | 1872 KB |
1
|
OmiseInput1.txt | AC | 14 ms | 1836 KB |
1
|
OmiseInput2.txt | AC | 11 ms | 2432 KB |
1
|
OmiseInput3.txt | AC | 10 ms | 2528 KB |
1
|
OmiseInput4.txt | AC | 11 ms | 2372 KB |
1
|
OmiseInput5.txt | AC | 10 ms | 2472 KB |
1
|
OmiseInput6.txt | AC | 14 ms | 2440 KB |
1
|
OmiseInput7.txt | AC | 13 ms | 2404 KB |
1
|
OmiseInput8.txt | AC | 12 ms | 2368 KB |
1
|
OmiseInput9.txt | AC | 15 ms | 2464 KB |
1
|
OmiseInput10.txt | AC | 13 ms | 1940 KB |
1
|
OmiseInput11.txt | AC | 281 ms | 2416 KB |
1
|
OmiseInput12.txt | AC | 253 ms | 2240 KB |
1
|
OmiseInput13.txt | AC | 419 ms | 2784 KB |
1
|
OmiseInput14.txt | AC | 248 ms | 2456 KB |
1
|
OmiseInput15.txt | AC | 481 ms | 2644 KB |
1
|
SampleInput1.txt | AC | 11 ms | 2292 KB |
1
|
SampleInput2.txt | AC | 13 ms | 2392 KB |
1
|
SampleInput3.txt | AC | 12 ms | 2488 KB |
1
|
SampleInput4.txt | AC | 13 ms | 2464 KB |
1
|