Submission #710503

# Submission time Handle Problem Language Result Execution time Memory
710503 2023-03-15T09:45:44 Z baojiaopisu Ancient Machine (JOI21_ancient_machine) C++17
70 / 100
79 ms 7888 KB
#include "Anna.h"
#include<bits/stdc++.h>

using namespace std;

using ll = long long;
using ld = long double;
using ull = unsigned long long;

using pii = pair<int, int>;
using pll = pair<ll, ll>;
using pld = pair<ld, ld>;

#define fi first
#define se second
#define left BAO
#define right ANH
#define pb push_back
#define pf push_front
#define mp make_pair
#define ins insert
#define btpc __builtin_popcount
#define btclz __builtin_clz

#define sz(x) (int)(x.size());
#define all(x) x.begin(), x.end()
#define debug(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] "

template<class X, class Y>
    bool minimize(X &x, const Y &y) {
        if (x > y)
        {
            x = y;
            return true;
        }
        return false;
    }
template<class X, class Y>
    bool maximize(X &x, const Y &y) {
        if (x < y)
        {
            x = y;
            return true;
        }
        return false;
    }

const int MOD = 1e9 + 7; //998244353

template<class X, class Y>
	void add(X &x, const Y &y) {
		x = (x + y);
		if(x >= MOD) x -= MOD;
	}

template<class X, class Y> 
	void sub(X &x, const Y &y) {
		x = (x - y);
		if(x < 0) x += MOD;
	}

/* Author : Le Ngoc Bao Anh, 12A5, LQD High School for Gifted Student*/

const ll INF = 1e9;
const int N = 1e5 + 10;

// void Send(int x) {
// 	cout << x << " ";
// }

void Anna(int n, vector<char> s) {
	int l = INF, r = 0;
	for(int i = 0; i < n; i++) {
		if(s[i] == 'X' && l > n) l = i;
		if(s[i] == 'Z') r = i;
	}	

	if(l > r) {
		Send(0);
		return;
	}

	vector<int> pos;
	for(int i = 0; i < n; i++) {
		if(i == l || i == r) {
			 Send(1);
			 continue;
		}
		if(i > l && i < r && s[i] == 'Z' && s[i + 1] == 'Y') Send(1);
		else Send(0);
	}
};

// void BaoJiaoPisu() {
// 	int n; cin >> n;
// 	vector<char> s(n);
// 	for(auto &x : s) cin >> x;
// 	Anna(n, s);	
// }

// int main()
// {
//     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
//     #ifndef ONLINE_JUDGE
//     freopen("input.txt", "r", stdin);
//     freopen("output.txt", "w", stdout);
//     #else 
//     //online
//     #endif

//     int tc = 1, ddd = 0;
//     // cin >> tc;
//     while(tc--) {
//         //ddd++;
//         //cout << "Case #" << ddd << ": ";
//         BaoJiaoPisu();
//     }
// }
#include "Bruno.h"
#include<bits/stdc++.h>

using namespace std;

using ll = long long;
using ld = long double;
using ull = unsigned long long;

using pii = pair<int, int>;
using pll = pair<ll, ll>;
using pld = pair<ld, ld>;

#define fi first
#define se second
#define left BAO
#define right ANH
#define pb push_back
#define pf push_front
#define mp make_pair
#define ins insert
#define btpc __builtin_popcount
#define btclz __builtin_clz

#define sz(x) (int)(x.size());
#define all(x) x.begin(), x.end()
#define debug(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] "

template<class X, class Y>
    bool minimize(X &x, const Y &y) {
        if (x > y)
        {
            x = y;
            return true;
        }
        return false;
    }
template<class X, class Y>
    bool maximize(X &x, const Y &y) {
        if (x < y)
        {
            x = y;
            return true;
        }
        return false;
    }

const int MOD = 1e9 + 7; //998244353

template<class X, class Y>
	void add(X &x, const Y &y) {
		x = (x + y);
		if(x >= MOD) x -= MOD;
	}

template<class X, class Y> 
	void sub(X &x, const Y &y) {
		x = (x - y);
		if(x < 0) x += MOD;
	}

/* Author : Le Ngoc Bao Anh, 12A5, LQD High School for Gifted Student*/

const ll INF = 1e9;
const int N = 1e5 + 10;

bool ok[N];
int b[N];

// void Remove(int x) {
// 	cout << x << endl;
// };

void Bruno(int n, int c, vector<int> a) {
	if(c < n) {
		for(int i = 0; i < n; i++) Remove(i);
		return;
	}

	int l = -1, r = 0;
	for(int i = 0; i < n; i++) {
		if(a[i] && l == -1) l = i;
		if(a[i]) r = i;
	}

	int last = l;
	for(int i = l + 1; i < r; i++) {
		if(a[i]) {
			int curr = i - 1;
			while(curr > last) {
				Remove(curr);
				ok[curr] = true;
				--curr;					
			}
			Remove(i);
			ok[i] = true;
			last = i;
		}
	}

	// cerr << pos << " " << l << " " << r << endl;
	int curr = r - 1;
	while(curr > last) {
		Remove(curr);
		ok[curr] = true;
		--curr;
	}
	Remove(r);
	ok[r] = true;
	for(int i = 0; i < n; i++) if(!ok[i]) Remove(i);
}

// void BaoJiaoPisu() {
// 	int n, l; 
// 	cin >> n >> l;
// 	vector<int> a(l);
// 	for(auto &x : a) cin >> x;
// 	Bruno(n, l, a);
// }

// int main()
// {
//     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
//     #ifndef ONLINE_JUDGE
//     freopen("input.txt", "r", stdin);
//     freopen("output.txt", "w", stdout);
//     #else 
//     //online
//     #endif

//     int tc = 1, ddd = 0;
//     // cin >> tc;
//     while(tc--) {
//         //ddd++;
//         //cout << "Case #" << ddd << ": ";
//         BaoJiaoPisu();
//     }
// }
# Verdict Execution time Memory Grader output
1 Correct 0 ms 516 KB Output is correct
2 Correct 0 ms 508 KB Output is correct
3 Correct 0 ms 508 KB Output is correct
4 Correct 0 ms 508 KB Output is correct
5 Correct 0 ms 504 KB Output is correct
6 Correct 2 ms 508 KB Output is correct
7 Correct 1 ms 516 KB Output is correct
8 Correct 2 ms 496 KB Output is correct
9 Correct 1 ms 508 KB Output is correct
10 Correct 1 ms 508 KB Output is correct
11 Correct 0 ms 516 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 54 ms 7848 KB Partially correct
2 Partially correct 60 ms 7764 KB Partially correct
3 Partially correct 56 ms 7772 KB Partially correct
4 Partially correct 66 ms 7852 KB Partially correct
5 Partially correct 56 ms 7800 KB Partially correct
6 Partially correct 53 ms 7840 KB Partially correct
7 Partially correct 65 ms 7856 KB Partially correct
8 Partially correct 57 ms 7888 KB Partially correct
9 Partially correct 65 ms 7800 KB Partially correct
10 Partially correct 57 ms 7820 KB Partially correct
11 Partially correct 62 ms 7832 KB Partially correct
12 Partially correct 68 ms 7828 KB Partially correct
13 Partially correct 59 ms 7784 KB Partially correct
14 Partially correct 63 ms 7840 KB Partially correct
15 Partially correct 73 ms 7824 KB Partially correct
16 Partially correct 62 ms 7852 KB Partially correct
17 Partially correct 62 ms 7848 KB Partially correct
18 Correct 52 ms 6416 KB Output is correct
19 Correct 46 ms 6352 KB Output is correct
20 Partially correct 53 ms 7776 KB Partially correct
21 Partially correct 52 ms 7744 KB Partially correct
22 Partially correct 79 ms 7844 KB Partially correct
23 Partially correct 55 ms 7720 KB Partially correct
24 Partially correct 57 ms 7796 KB Partially correct
25 Correct 54 ms 6428 KB Output is correct
26 Partially correct 68 ms 7580 KB Partially correct
27 Correct 49 ms 6412 KB Output is correct
28 Partially correct 73 ms 7620 KB Partially correct
29 Correct 46 ms 6404 KB Output is correct
30 Correct 59 ms 6312 KB Output is correct
31 Correct 47 ms 6396 KB Output is correct
32 Partially correct 52 ms 7692 KB Partially correct
33 Partially correct 53 ms 7688 KB Partially correct