Submission #523624

# Submission time Handle Problem Language Result Execution time Memory
523624 2022-02-08T01:45:37 Z zipdang04 Seats (IOI18_seats) C++14
11 / 100
4000 ms 48576 KB
#include <bits/stdc++.h>
using namespace std;
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
*/

typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef map<int, int> mii;
typedef unordered_map<int, int> umii;
typedef map<ll, ll> mll;
typedef unordered_map<ll, ll> umll;
template <class T1, class T2>
void maximize(T1 &a, T2 b){
	if (b > a) a = b;
}
template <class T1, class T2>
void minimize(T1 &a, T2 b){
	if (b < a) a = b;
}
template <class T>
void read(T &number)
{
	bool negative = false;
	register int c;
	number = 0;
	c = getchar();
	while (c != '-' && !isalnum(c)) c = getchar();
	if (c=='-'){
		negative = true;
		c = getchar();
	}
	for (; (c>47 && c<58); c=getchar())
		number = number *10 + c - 48;
	if (negative)
		number *= -1;
}
template <class T, class ...Ts>
void read(T &a, Ts& ... args){
	read(a);
	read(args...);
}

/*
struct Node
{
	int node, len;
	Node() {node = len = 0;}
	Node(int node, int len) {this -> node = node, this -> len = len;}
};
typedef vector<Node> vg;
*/

#define MAX 1000001
#define MOD 1000000007

#define fi first
#define se second
#define pf push_front
#define pb push_back

#define FOR(type, i, a, b) for(type i = (a); i <= (b); i++)
#define FORD(type, i, b, a) for(type i = (b); i >= (a); i--)

#define testBit(n, bit) ((n >> bit) & 1)
#define flipBit(n, bit) (n ^ (1ll << bit))
#define cntBit(n) __builtin_popcount(n)
#define cntBitll(n) __builtin_popcountll(n)
#define randomize mt19937_64 mt(chrono::steady_clock::now().time_since_epoch().count());
#include "seats.h"

struct Rect{
	int rMin, rMax, cMin, cMax;
};
Rect cal(Rect a, Rect b){
	return {
		min(a.rMin, b.rMin),
		max(a.rMax, b.rMax),
		min(a.cMin, b.cMin),
		max(a.cMax, b.cMax)
	};
}

int h, w, all;
Rect pos[MAX];

void give_initial_chart(int H, int W, vector<int> R, vector<int> C) {
	h = H, w = W;all = h * w;
	FOR(int, i, 0, all - 1)
		pos[i] = {R[i], R[i], C[i], C[i]};
}

int swap_seats(int a, int b) {
	swap(pos[a], pos[b]);
	Rect haha = pos[0];
	int answer = 0;
	for (int i = 0; i < all; i++){
		haha = cal(haha, pos[i]);
		if ((haha.rMax - haha.rMin + 1) * (haha.cMax - haha.cMin + 1) == i + 1)
			answer++;
	}
	return answer;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 440 KB Output is correct
3 Correct 3 ms 424 KB Output is correct
4 Correct 3 ms 460 KB Output is correct
5 Correct 3 ms 524 KB Output is correct
6 Correct 3 ms 460 KB Output is correct
7 Correct 3 ms 428 KB Output is correct
8 Correct 3 ms 460 KB Output is correct
9 Correct 3 ms 460 KB Output is correct
10 Correct 3 ms 440 KB Output is correct
11 Correct 3 ms 460 KB Output is correct
12 Correct 3 ms 460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 440 KB Output is correct
3 Correct 3 ms 424 KB Output is correct
4 Correct 3 ms 460 KB Output is correct
5 Correct 3 ms 524 KB Output is correct
6 Correct 3 ms 460 KB Output is correct
7 Correct 3 ms 428 KB Output is correct
8 Correct 3 ms 460 KB Output is correct
9 Correct 3 ms 460 KB Output is correct
10 Correct 3 ms 440 KB Output is correct
11 Correct 3 ms 460 KB Output is correct
12 Correct 3 ms 460 KB Output is correct
13 Correct 129 ms 808 KB Output is correct
14 Correct 134 ms 740 KB Output is correct
15 Correct 129 ms 824 KB Output is correct
16 Correct 132 ms 860 KB Output is correct
17 Correct 129 ms 812 KB Output is correct
18 Correct 128 ms 796 KB Output is correct
19 Correct 129 ms 820 KB Output is correct
20 Correct 132 ms 820 KB Output is correct
21 Correct 129 ms 820 KB Output is correct
22 Correct 130 ms 808 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 4065 ms 31688 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 138 ms 708 KB Output is correct
2 Correct 1156 ms 4652 KB Output is correct
3 Execution timed out 4051 ms 47660 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 13 ms 1336 KB Output is correct
2 Correct 15 ms 1964 KB Output is correct
3 Correct 27 ms 2000 KB Output is correct
4 Correct 145 ms 1980 KB Output is correct
5 Correct 1280 ms 2440 KB Output is correct
6 Execution timed out 4030 ms 48576 KB Time limit exceeded
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
2 Correct 2 ms 440 KB Output is correct
3 Correct 3 ms 424 KB Output is correct
4 Correct 3 ms 460 KB Output is correct
5 Correct 3 ms 524 KB Output is correct
6 Correct 3 ms 460 KB Output is correct
7 Correct 3 ms 428 KB Output is correct
8 Correct 3 ms 460 KB Output is correct
9 Correct 3 ms 460 KB Output is correct
10 Correct 3 ms 440 KB Output is correct
11 Correct 3 ms 460 KB Output is correct
12 Correct 3 ms 460 KB Output is correct
13 Correct 129 ms 808 KB Output is correct
14 Correct 134 ms 740 KB Output is correct
15 Correct 129 ms 824 KB Output is correct
16 Correct 132 ms 860 KB Output is correct
17 Correct 129 ms 812 KB Output is correct
18 Correct 128 ms 796 KB Output is correct
19 Correct 129 ms 820 KB Output is correct
20 Correct 132 ms 820 KB Output is correct
21 Correct 129 ms 820 KB Output is correct
22 Correct 130 ms 808 KB Output is correct
23 Execution timed out 4065 ms 31688 KB Time limit exceeded
24 Halted 0 ms 0 KB -