結果

問題 No.714 回転寿司屋のシミュレート
ユーザー ahe100
提出日時 2018-07-13 22:43:30
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 22 ms
コード長 1,129 Byte
コンパイル時間 584 ms
使用メモリ 8,920 KB
最終ジャッジ日時 2019-11-21 08:07:33

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
rand1.txt AC 4 ms
6,872 KB
rand2.txt AC 3 ms
6,872 KB
rand3.txt AC 3 ms
6,872 KB
rand4.txt AC 4 ms
6,876 KB
rand5.txt AC 7 ms
6,876 KB
rand6.txt AC 8 ms
6,872 KB
rand7.txt AC 9 ms
6,876 KB
rand8.txt AC 18 ms
6,876 KB
rand9.txt AC 22 ms
6,872 KB
rand10.txt AC 11 ms
6,872 KB
rand11.txt AC 10 ms
6,872 KB
rand12.txt AC 11 ms
6,876 KB
rand13.txt AC 10 ms
6,872 KB
rand14.txt AC 13 ms
6,876 KB
rand15.txt AC 8 ms
6,872 KB
rand16.txt AC 8 ms
6,876 KB
rand17.txt AC 8 ms
6,876 KB
rand18.txt AC 8 ms
8,920 KB
rand19.txt AC 9 ms
6,876 KB
rand20.txt AC 8 ms
6,876 KB
rand21.txt AC 8 ms
6,876 KB
rand22.txt AC 8 ms
6,876 KB
rand23.txt AC 6 ms
6,876 KB
rand24.txt AC 6 ms
6,876 KB
rand25.txt AC 6 ms
8,916 KB
rand26.txt AC 7 ms
6,876 KB
rand27.txt AC 6 ms
8,920 KB
rand28.txt AC 6 ms
6,872 KB
rand29.txt AC 6 ms
6,876 KB
rand30.txt AC 6 ms
6,872 KB
test1.txt AC 3 ms
6,872 KB
test2.txt AC 3 ms
6,872 KB
test3.txt AC 2 ms
6,872 KB
test4.txt AC 3 ms
6,876 KB
test5.txt AC 3 ms
6,876 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
#include<cmath>
#include<climits>
#include<string>
#include<set>
#include<numeric>
#include<map>
#include<iostream>
using namespace std;
#define rep(i,n) for(int i = 0;i<((int)(n));i++)
#define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++)
#define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--)
#define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--)
typedef long long ll;
typedef pair<ll, ll> mp;
ll mod = 1e9+7;
ll inf = 1e18;

//WA

int main(void){
	ll n,cnt=0;
	ll seat[100]={};
	rep(i,100)seat[i]=-1;
	map<string,ll> l[5010];
	cin>>n;
	rep(i,n){
		ll mode;
		cin>>mode;
		if(mode==0){
			ll a,b;
			cin>>a>>b;
			seat[a]=cnt;//cnt番目のlistを持つ客
			rep(j,b){
				string c;
				cin>>c;
				l[cnt][c]++;
			}
			cnt++;
		}else if(mode==1){
			string a;
			bool b=true;
			cin>>a;
			reg(j,1,20){
				if(seat[j]>=0 && l[seat[j]][a]>0){
					l[seat[j]][a]--;
					cout<<j<<endl;
					b=false;
					break;
				}
			}
			if(b)cout<<-1<<endl;
		}else{
			ll a;
			cin>>a;
			seat[a]=-1;
		}
	}
	return 0;
}
0