結果

問題 No.618 labo-index
ユーザー ku_material_ro
提出日時 2017-12-19 22:49:53
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
RE  
実行時間 -
コード長 1,037 bytes
コンパイル時間 1,174 ms
コンパイル使用メモリ 81,212 KB
実行使用メモリ 11,428 KB
最終ジャッジ日時 2024-12-16 02:16:36
合計ジャッジ時間 34,513 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other WA * 1 RE * 30 TLE * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <math.h>
#include <string>
#include <algorithm>
#include <vector>
#include <iomanip>
#include <functional>
#define REP(i,n) for(int i=0;i<n;i++)
typedef long long ll;

using namespace std;
int kaijo(int n){
	int ans = 1;
	if (n != 0){
		for (int i = 0; i < n; i++){
			ans *= (n - i);
		}
	}
	else{
		ans = 1;
	}
	return ans;
}

int main(){
	int q;
	int c, x;
	int ans = 0;
	cin >> q;
	vector<ll> a;
	vector<ll> b;
	ll l[100000];
	REP(i, q){
		ans = 0;
		cin >> c >> x;
		if (c == 1){
			a.push_back(x);
		}
		else if (c == 2){
			a.erase(a.begin() + x - 1);
		}
		else{
			int j = 0;
			for (auto itr = a.begin(); itr != a.end();itr++){
				a[j] += x;
				j++;
			}
		}
		b = a;
		sort(b.begin(), b.end());
		for (auto itr = b.begin(); itr != b.end(); itr++){
			if (*itr <= distance(itr, b.end())){
				ans = *itr;
			}
			else{
				break;
			}
		}
		if (ans <= 0){
			
			ans = distance(lower_bound(b.begin(), b.end(), 0), b.end());
		}
		l[i] = ans;
	}
	REP(i, q){
		cout << l[i] << endl;
	}
	return 0;
}
0