답안 #148683

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
148683 2019-09-01T04:54:57 Z Powered By Zigui(#3580, aaaa, evenharder, best_sheild97) King of Chairs (FXCUP4_chairs) C++17
55 / 100
164 ms 10556 KB
#include "king.h"
#include <bits/stdc++.h>
 
#define fi first
#define se second
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define INF  (1<<30)
#define INFL (1LL<<60)
#define EPS ((ld)(1e-9))
 
#define sz(x) ((int)(x).size())
#define setz(x) memset(x, 0, sizeof(x))
#define all(x) (x).begin(), (x).end()
#define rep(i, e) for (int i = 0, _##i = (e); i < _##i; i++)
#define repp(i, s, e) for (int i = (s), _##i = (e); i < _##i; i++)
#define repr(i, s, e) for (int i = (s)-1, _##i = (e); i >= _##i; i--)
#define repi(i, x) for (auto &i : (x))
#define ARR(...) vector<int>({__VA_ARGS__})
#define ARS(...) vector<string>({__VA_ARGS__})
 
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef complex<double> base;
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef pair<ll, ll> pll;
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const pair<T, V> pai) { 
    return os << '(' << pai.first << ' ' << pai.second << ')';
}
 
template<typename T>
ostream &operator<<(ostream &os, const vector<T> v) {
    cout << '[';
    for (auto p : v) cout << p << ",";
    cout << "]";
    return os;
}
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const set<T, V> v) {
    cout << "{";
    for (auto p : v) cout << p << ",";
    cout << "}";
    return os;
}
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const map<T, V> v) {
    cout << "{";
    for (auto p : v) cout << p << ",";
    cout << "}";
    return os;
}
 
#ifndef __SOULTCH
#define debug(...) 0
#define endl '\n'
#else
#define debug(...) cout << " [-] ", _dbg(#__VA_ARGS__, __VA_ARGS__)
template<class TH> void _dbg(const char *sdbg, TH h){ cout << sdbg << '=' << h << endl; }
template<class TH, class... TA> void _dbg(const char *sdbg, TH h, TA... a) {
    while(*sdbg != ',') cout << *sdbg++;
    cout << '=' << (h) << ','; 
    _dbg(sdbg+1, a...);
}
#endif
 
template<typename T> void get_max(T &a, T b) {a = max(a, b);}
template<typename T> void get_min(T &a, T b) {a = min(a, b);}

long long SendInfo(vector<int> W, vector<int> C) {
	int N = W.size();
	
	sort(all(W));
	sort(all(C));
	
		
	int p = 0, e = 0;
	for (e = 0; e < N; e++) {
		while(p < N and W[e] > C[p]) p++;
		if (p == N) break;
		p++;
	}
	
	//cout << e << endl;
	//cout << "DONE" << endl;
	
	return e>0?W[e-1]:0;
}






















#include "vassal.h"
#include <bits/stdc++.h> 

#define fi first
#define se second
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define INF  (1<<30)
#define INFL (1LL<<60)
#define EPS ((ld)(1e-9))
 
#define sz(x) ((int)(x).size())
#define setz(x) memset(x, 0, sizeof(x))
#define all(x) (x).begin(), (x).end()
#define rep(i, e) for (int i = 0, _##i = (e); i < _##i; i++)
#define repp(i, s, e) for (int i = (s), _##i = (e); i < _##i; i++)
#define repr(i, s, e) for (int i = (s)-1, _##i = (e); i >= _##i; i--)
#define repi(i, x) for (auto &i : (x))
#define ARR(...) vector<int>({__VA_ARGS__})
#define ARS(...) vector<string>({__VA_ARGS__})
 
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef complex<double> base;
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef pair<ll, ll> pll;
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const pair<T, V> pai) { 
    return os << '(' << pai.first << ' ' << pai.second << ')';
}
 
template<typename T>
ostream &operator<<(ostream &os, const vector<T> v) {
    cout << '[';
    for (auto p : v) cout << p << ",";
    cout << "]";
    return os;
}
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const set<T, V> v) {
    cout << "{";
    for (auto p : v) cout << p << ",";
    cout << "}";
    return os;
}
 
template<typename T, typename V>
ostream &operator<<(ostream &os, const map<T, V> v) {
    cout << "{";
    for (auto p : v) cout << p << ",";
    cout << "}";
    return os;
}
 
#ifndef __SOULTCH
#define debug(...) 0
#define endl '\n'
#else
#define debug(...) cout << " [-] ", _dbg(#__VA_ARGS__, __VA_ARGS__)
template<class TH> void _dbg(const char *sdbg, TH h){ cout << sdbg << '=' << h << endl; }
template<class TH, class... TA> void _dbg(const char *sdbg, TH h, TA... a) {
    while(*sdbg != ',') cout << *sdbg++;
    cout << '=' << (h) << ','; 
    _dbg(sdbg+1, a...);
}
#endif
 
template<typename T> void get_max(T &a, T b) {a = max(a, b);}
template<typename T> void get_min(T &a, T b) {a = min(a, b);}


set<pii> chair;
long long B;
void Init(long long BB, vector<int> C){
	int N = C.size();
	B = BB;
	
	rep(i, N) chair.insert({C[i], i});
	//cout << chair << endl;
}

int Maid(int W) {
	//cout << W << ' ' << B << ' ';
	if (W > B) return -1;
	
	auto p = chair.lower_bound({W, -1});
	int res = p->se;
	
	chair.erase(p);
	//cout << res << ' ';
	return res;
}



















# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 1048 KB Correct
2 Correct 10 ms 1044 KB Correct
3 Correct 10 ms 1044 KB Correct
4 Correct 10 ms 1052 KB Correct
5 Correct 10 ms 1040 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 67 ms 5948 KB Correct
2 Correct 114 ms 9376 KB Correct
3 Correct 120 ms 10184 KB Correct
4 Correct 123 ms 10440 KB Correct
5 Correct 123 ms 10440 KB Correct
6 Correct 120 ms 10432 KB Correct
7 Correct 123 ms 10536 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 82 ms 5932 KB B = 993847
2 Partially correct 146 ms 9636 KB B = 996200
3 Partially correct 139 ms 10448 KB B = 706116
4 Runtime error 164 ms 10556 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Halted 0 ms 0 KB -