Submission #72026991
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
#define int long long
#define ALL(x) (x).begin(), (x).end()
#define MAX(x) *max_element(ALL(x))
#define MIN(x) *min_element(ALL(x))
typedef pair<int, int> PI;
typedef pair<int, pair<int, int>> PII;
static const int INF = 1010000000000000017LL;
static const double eps = 1e-12;
static const double pi = 3.14159265358979323846;
static const int dx[4] = {1, -1, 0, 0};
static const int dy[4] = {0, 0, 1, -1};
static const int ddx[8] = {1, -1, 0, 0, 1, 1, -1, -1};
static const int ddy[8] = {0, 0, 1, -1, 1, -1, 1, -1};
template <class T>
inline bool chmin(T& a, T b) {
if (a > b) {
a = b;
return true;
}
return false;
}
template <class T>
inline bool chmax(T& a, T b) {
if (a < b) {
a = b;
return true;
}
return false;
}
int N;
signed main() {
cin >> N;
vector<int> A(N);
set<PI> st;
for (int i = 0; i < N; ++i) {
cin >> A[i];
st.insert({i, A[i]});
}
auto itr_s = st.begin();
bool erased = false;
while (itr_s != st.end()) {
if (erased) {
for (int i = 0; i < 4; ++i) {
if (itr_s == st.begin()) {
break;
}
itr_s--;
}
}
int cnt = 1;
int v = itr_s->second;
// cout << "----------------------" << endl;
while (itr_s != st.end()) {
// cout << itr_s->first << " " << itr_s->second << endl;
itr_s++;
if (v != itr_s->second) {
break;
} else {
cnt++;
if (cnt == 4) {
break;
}
}
}
if (cnt == 4) {
for (int i = 0; i < 4; ++i) {
itr_s = st.erase(itr_s);
if (itr_s == st.begin()) {
break;
} else {
itr_s--;
}
}
erased = true;
} else {
erased = false;
}
}
cout << st.size() << endl;
}
Submission Info
| Submission Time |
|
| Task |
C - 1D puyopuyo |
| User |
tsuyosshi |
| Language |
C++23 (GCC 15.2.0) |
| Score |
300 |
| Code Size |
2238 Byte |
| Status |
AC |
| Exec Time |
83 ms |
| Memory |
17416 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
300 / 300 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_00.txt |
AC |
1 ms |
3652 KiB |
| 00_sample_01.txt |
AC |
1 ms |
3540 KiB |
| 00_sample_02.txt |
AC |
1 ms |
3420 KiB |
| 01_random_00.txt |
AC |
1 ms |
3652 KiB |
| 01_random_01.txt |
AC |
78 ms |
17308 KiB |
| 01_random_02.txt |
AC |
78 ms |
17388 KiB |
| 01_random_03.txt |
AC |
76 ms |
17308 KiB |
| 01_random_04.txt |
AC |
79 ms |
17304 KiB |
| 01_random_05.txt |
AC |
78 ms |
17416 KiB |
| 01_random_06.txt |
AC |
83 ms |
17388 KiB |
| 01_random_07.txt |
AC |
83 ms |
17356 KiB |
| 01_random_08.txt |
AC |
83 ms |
17360 KiB |
| 01_random_09.txt |
AC |
76 ms |
17356 KiB |
| 01_random_10.txt |
AC |
76 ms |
17240 KiB |
| 01_random_11.txt |
AC |
76 ms |
17240 KiB |
| 01_random_12.txt |
AC |
73 ms |
17304 KiB |
| 01_random_13.txt |
AC |
74 ms |
17308 KiB |
| 01_random_14.txt |
AC |
74 ms |
17364 KiB |
| 01_random_15.txt |
AC |
75 ms |
17380 KiB |
| 01_random_16.txt |
AC |
69 ms |
17260 KiB |
| 01_random_17.txt |
AC |
73 ms |
17376 KiB |