Submission #3883276
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <assert.h>
#include <bitset>
#include <cmath>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <time.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#pragma warning(disable:4996)
#pragma comment(linker, "/STACK:336777216")
using namespace std;
#define mp make_pair
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define szz(x) ((int)(x).size())
#define rep(i, n) for(int i=0;i<n;i++)
#define all(x) (x).begin(), (x).end()
#define ldb ldouble
typedef unsigned int uint;
typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;
int IT_MAX = 1 << 19;
const ll MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;
const int MX = 1<<19;
const int MM = 998244353;
bool check(vector<int> L){
int odd = 0, even = 0;
for(int i = 1; i+2 < L.size(); i += 2) if(L[i] > L[i+2]) odd = 1;
if(odd) return false;
vector<pii> X;
for(int i = 0; i < L.size(); i++) X.emplace_back(L[i], i);
sort(X.begin(), X.end());
set<pii> P1;
for(int i = 0; i < X.size(); i++){
pii c = pii(X[i].second, X[i].first);
auto it = P1.lower_bound(c);
if(i%2 == 0 && it != P1.end() && it->first%2 == 0) return false;
P1.insert(c);
}
reverse(X.begin(), X.end());
P1.clear();
for(int i = 0; i < X.size(); i++){
pii c = pii(X[i].second, X[i].first);
auto it = P1.lower_bound(c);
if(i%2 == 0 && it != P1.begin() && prev(it)->first%2 == 0) return false;
P1.insert(c);
}
return true;
}
int main()
{
int N;
scanf("%d", &N);
vector<int> L;
int mx = 0;
for(int i = 1; i <= N; i++){
int a;
scanf("%d", &a);
if(i%2 != a%2) return !printf("No\n");
L.push_back(a);
mx = max(mx, a);
if(mx == i){
if(!check(L)) return !printf("No\n");
L.clear();
}
}
printf("Yes\n");
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Revenge of BBuBBBlesort! |
| User | zigui |
| Language | C++14 (GCC 5.4.1) |
| Score | 1200 |
| Code Size | 2376 Byte |
| Status | AC |
| Exec Time | 341 ms |
| Memory | 20716 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:89:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &N);
^
./Main.cpp:94:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &a);
^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt, s4.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, 65.txt, 66.txt, 67.txt, 68.txt, 69.txt, 70.txt, 71.txt, 72.txt, 73.txt, 74.txt, 75.txt, 76.txt, 77.txt, 78.txt, 79.txt, 80.txt, 81.txt, 82.txt, 83.txt, 84.txt, 85.txt, 86.txt, 87.txt, 88.txt, 89.txt, 90.txt, 91.txt, 92.txt, 93.txt, 94.txt, 95.txt, 96.txt, s1.txt, s2.txt, s3.txt, s4.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 1 ms | 256 KiB |
| 02.txt | AC | 1 ms | 256 KiB |
| 03.txt | AC | 1 ms | 256 KiB |
| 04.txt | AC | 1 ms | 256 KiB |
| 05.txt | AC | 29 ms | 1908 KiB |
| 06.txt | AC | 112 ms | 784 KiB |
| 07.txt | AC | 22 ms | 3960 KiB |
| 08.txt | AC | 169 ms | 7424 KiB |
| 09.txt | AC | 87 ms | 3576 KiB |
| 10.txt | AC | 83 ms | 256 KiB |
| 11.txt | AC | 86 ms | 256 KiB |
| 12.txt | AC | 83 ms | 256 KiB |
| 13.txt | AC | 18 ms | 764 KiB |
| 14.txt | AC | 81 ms | 256 KiB |
| 15.txt | AC | 105 ms | 256 KiB |
| 16.txt | AC | 51 ms | 1944 KiB |
| 17.txt | AC | 104 ms | 7028 KiB |
| 18.txt | AC | 167 ms | 8944 KiB |
| 19.txt | AC | 7 ms | 764 KiB |
| 20.txt | AC | 9 ms | 256 KiB |
| 21.txt | AC | 84 ms | 256 KiB |
| 22.txt | AC | 82 ms | 256 KiB |
| 23.txt | AC | 81 ms | 256 KiB |
| 24.txt | AC | 81 ms | 256 KiB |
| 25.txt | AC | 71 ms | 1016 KiB |
| 26.txt | AC | 113 ms | 724 KiB |
| 27.txt | AC | 52 ms | 2648 KiB |
| 28.txt | AC | 63 ms | 3144 KiB |
| 29.txt | AC | 23 ms | 3576 KiB |
| 30.txt | AC | 56 ms | 256 KiB |
| 31.txt | AC | 44 ms | 1400 KiB |
| 32.txt | AC | 82 ms | 256 KiB |
| 33.txt | AC | 63 ms | 256 KiB |
| 34.txt | AC | 42 ms | 256 KiB |
| 35.txt | AC | 105 ms | 256 KiB |
| 36.txt | AC | 73 ms | 740 KiB |
| 37.txt | AC | 42 ms | 2808 KiB |
| 38.txt | AC | 21 ms | 1780 KiB |
| 39.txt | AC | 141 ms | 11000 KiB |
| 40.txt | AC | 83 ms | 256 KiB |
| 41.txt | AC | 92 ms | 256 KiB |
| 42.txt | AC | 82 ms | 384 KiB |
| 43.txt | AC | 5 ms | 256 KiB |
| 44.txt | AC | 9 ms | 256 KiB |
| 45.txt | AC | 86 ms | 256 KiB |
| 46.txt | AC | 87 ms | 256 KiB |
| 47.txt | AC | 52 ms | 256 KiB |
| 48.txt | AC | 87 ms | 256 KiB |
| 49.txt | AC | 31 ms | 2296 KiB |
| 50.txt | AC | 92 ms | 256 KiB |
| 51.txt | AC | 10 ms | 892 KiB |
| 52.txt | AC | 1 ms | 256 KiB |
| 53.txt | AC | 84 ms | 256 KiB |
| 54.txt | AC | 78 ms | 256 KiB |
| 55.txt | AC | 32 ms | 256 KiB |
| 56.txt | AC | 73 ms | 256 KiB |
| 57.txt | AC | 84 ms | 256 KiB |
| 58.txt | AC | 83 ms | 256 KiB |
| 59.txt | AC | 32 ms | 256 KiB |
| 60.txt | AC | 49 ms | 256 KiB |
| 61.txt | AC | 9 ms | 256 KiB |
| 62.txt | AC | 84 ms | 256 KiB |
| 63.txt | AC | 18 ms | 256 KiB |
| 64.txt | AC | 58 ms | 256 KiB |
| 65.txt | AC | 84 ms | 256 KiB |
| 66.txt | AC | 83 ms | 256 KiB |
| 67.txt | AC | 12 ms | 892 KiB |
| 68.txt | AC | 84 ms | 256 KiB |
| 69.txt | AC | 43 ms | 1652 KiB |
| 70.txt | AC | 75 ms | 256 KiB |
| 71.txt | AC | 32 ms | 2672 KiB |
| 72.txt | AC | 322 ms | 19180 KiB |
| 73.txt | AC | 32 ms | 2672 KiB |
| 74.txt | AC | 330 ms | 20716 KiB |
| 75.txt | AC | 100 ms | 12012 KiB |
| 76.txt | AC | 265 ms | 20460 KiB |
| 77.txt | AC | 341 ms | 19052 KiB |
| 78.txt | AC | 32 ms | 2672 KiB |
| 79.txt | AC | 156 ms | 17516 KiB |
| 80.txt | AC | 55 ms | 7408 KiB |
| 81.txt | AC | 171 ms | 19308 KiB |
| 82.txt | AC | 291 ms | 20716 KiB |
| 83.txt | AC | 305 ms | 20076 KiB |
| 84.txt | AC | 303 ms | 18924 KiB |
| 85.txt | AC | 294 ms | 19692 KiB |
| 86.txt | AC | 32 ms | 2800 KiB |
| 87.txt | AC | 297 ms | 20460 KiB |
| 88.txt | AC | 32 ms | 2672 KiB |
| 89.txt | AC | 32 ms | 2672 KiB |
| 90.txt | AC | 32 ms | 2672 KiB |
| 91.txt | AC | 1 ms | 256 KiB |
| 92.txt | AC | 1 ms | 256 KiB |
| 93.txt | AC | 1 ms | 256 KiB |
| 94.txt | AC | 1 ms | 256 KiB |
| 95.txt | AC | 1 ms | 256 KiB |
| 96.txt | AC | 1 ms | 256 KiB |
| s1.txt | AC | 1 ms | 256 KiB |
| s2.txt | AC | 1 ms | 256 KiB |
| s3.txt | AC | 1 ms | 256 KiB |
| s4.txt | AC | 1 ms | 256 KiB |