Submission #73430240
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
// #define int long long
#define rep(i,n) for(int i=0;i<(n);i++)
#define rng(i,l,r) for(int i=(l);i<(r);i++)
#define rrep(i,n) for(int i=(n)-1;i>=0;i--)
#define rrng(i,l,r) for(int i=(r)-1;i>=(l);i--)
#define all(x) (x).begin(),(x).end()
#define pb push_back
#define fi first
#define se second
struct fast_io{fast_io(){cin.tie(nullptr)->sync_with_stdio(false);}}_;
template<class T> bool chmax(T &a,T b){return (a<b)?a=b,1:0;}
template<class T> bool chmin(T &a,T b){return (a>b)?a=b,1:0;}
template<class T>using pqmin=priority_queue<T,vector<T>,greater<T>>;
vector<int> vidx[20][20];
signed main(){
int N;cin>>N;
vector<int> A(N);for(auto&&e:A)cin>>e,e--;
int M=*max_element(all(A))+1;
auto add=[&](int s,int x)->int {
assert(!(s>>x&1));
rrep(i,x){
if(s>>i&1){
s^=(1<<i);
s^=(1<<x);
return s;
}
}
s^=(1<<x);
return s;
};
vector<int> dp(1<<M,-1);
dp[0]=0;
rep(i,N-1){
int u=A[i],v=A[i+1];
if(u>v)swap(u,v);
vidx[u][v].pb(i);
}
int ans=M;
rep(S,1<<M){
if(dp[S]==-1)continue;
int r=N;
rep(i,M){
if(S>>i&1)continue;
rng(j,i,M){
if(S>>j&1)continue;
auto it=lower_bound(all(vidx[i][j]),dp[S]);
if(it==vidx[i][j].end())continue;
chmin(r,*it);
if(r==dp[S])break;
}
if(r==dp[S])break;
}
if(r==N)chmin<int>(ans,__builtin_popcount(S));
else{
chmax(dp[add(S,A[r])],r+1);
chmax(dp[add(S,A[r+1])],r+2);
}
}
cout<<ans<<"\n";
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - 長いだけのネクタイ 2 (Just Long Neckties 2) |
| User | nouka28 |
| Language | C++23 (GCC 15.2.0) |
| Score | 100 |
| Code Size | 1616 Byte |
| Status | AC |
| Exec Time | 2548 ms |
| Memory | 64036 KiB |
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | Subtask4 | Subtask5 | Subtask6 | Subtask7 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 10 / 10 | 6 / 6 | 12 / 12 | 18 / 18 | 26 / 26 | 10 / 10 | 18 / 18 | ||||||||||||||||
| Status |
|
|
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt, sample-02.txt, sample-03.txt |
| Subtask1 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, sample-01.txt, sample-02.txt, sample-03.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-14.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-16.txt, 04-14.txt, 04-19.txt |
| Subtask2 | 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, sample-02.txt, 01-18.txt |
| Subtask3 | 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, sample-01.txt, sample-02.txt, 01-18.txt |
| Subtask4 | 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 04-19.txt, 04-20.txt, sample-01.txt, sample-02.txt, sample-03.txt, 01-08.txt, 01-10.txt, 01-12.txt, 01-18.txt |
| Subtask5 | 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 04-19.txt, 04-20.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 05-10.txt, 05-11.txt, 05-12.txt, 05-13.txt, 05-14.txt, 05-15.txt, 05-16.txt, 05-17.txt, 05-18.txt, 05-19.txt, 05-20.txt, sample-01.txt, sample-02.txt, sample-03.txt, 01-08.txt, 01-10.txt, 01-12.txt, 01-18.txt |
| Subtask6 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 04-19.txt, 04-20.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 05-10.txt, 05-11.txt, 05-12.txt, 05-13.txt, 05-14.txt, 05-15.txt, 05-16.txt, 05-17.txt, 05-18.txt, 05-19.txt, 05-20.txt, 06-01.txt, 06-02.txt, 06-03.txt, 06-04.txt, 06-05.txt, 06-06.txt, 06-07.txt, 06-08.txt, 06-09.txt, 06-10.txt, 06-11.txt, 06-12.txt, 06-13.txt, 06-14.txt, 06-15.txt, 06-16.txt, 06-17.txt, 06-18.txt, 06-19.txt, 06-20.txt, 06-21.txt, 06-22.txt, 06-23.txt, 06-24.txt, 06-25.txt, 06-26.txt, 06-27.txt, 06-28.txt, 06-29.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| Subtask7 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 04-13.txt, 04-14.txt, 04-15.txt, 04-16.txt, 04-17.txt, 04-18.txt, 04-19.txt, 04-20.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 05-10.txt, 05-11.txt, 05-12.txt, 05-13.txt, 05-14.txt, 05-15.txt, 05-16.txt, 05-17.txt, 05-18.txt, 05-19.txt, 05-20.txt, 06-01.txt, 06-02.txt, 06-03.txt, 06-04.txt, 06-05.txt, 06-06.txt, 06-07.txt, 06-08.txt, 06-09.txt, 06-10.txt, 06-11.txt, 06-12.txt, 06-13.txt, 06-14.txt, 06-15.txt, 06-16.txt, 06-17.txt, 06-18.txt, 06-19.txt, 06-20.txt, 06-21.txt, 06-22.txt, 06-23.txt, 06-24.txt, 06-25.txt, 06-26.txt, 06-27.txt, 06-28.txt, 06-29.txt, 07-01.txt, 07-02.txt, 07-03.txt, 07-04.txt, 07-05.txt, 07-06.txt, 07-07.txt, 07-08.txt, 07-09.txt, 07-10.txt, 07-11.txt, 07-12.txt, 07-13.txt, 07-14.txt, 07-15.txt, 07-16.txt, 07-17.txt, 07-18.txt, 07-19.txt, 07-20.txt, 07-21.txt, 07-22.txt, 07-23.txt, 07-24.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 4 ms | 7388 KiB |
| 01-02.txt | AC | 3 ms | 7528 KiB |
| 01-03.txt | AC | 1 ms | 4372 KiB |
| 01-04.txt | AC | 3 ms | 7444 KiB |
| 01-05.txt | AC | 5 ms | 11612 KiB |
| 01-06.txt | AC | 5 ms | 11612 KiB |
| 01-07.txt | AC | 5 ms | 11596 KiB |
| 01-08.txt | AC | 1 ms | 3796 KiB |
| 01-09.txt | AC | 1 ms | 3956 KiB |
| 01-10.txt | AC | 1 ms | 3844 KiB |
| 01-11.txt | AC | 6 ms | 11636 KiB |
| 01-12.txt | AC | 1 ms | 3592 KiB |
| 01-13.txt | AC | 5 ms | 11612 KiB |
| 01-14.txt | AC | 5 ms | 11616 KiB |
| 01-15.txt | AC | 5 ms | 11548 KiB |
| 01-16.txt | AC | 5 ms | 11524 KiB |
| 01-17.txt | AC | 3 ms | 7468 KiB |
| 01-18.txt | AC | 1 ms | 3704 KiB |
| 02-01.txt | AC | 1 ms | 3668 KiB |
| 02-02.txt | AC | 1 ms | 3504 KiB |
| 02-03.txt | AC | 1 ms | 3696 KiB |
| 02-04.txt | AC | 1 ms | 3556 KiB |
| 02-05.txt | AC | 1 ms | 3564 KiB |
| 02-06.txt | AC | 1 ms | 3676 KiB |
| 02-07.txt | AC | 1 ms | 3704 KiB |
| 02-08.txt | AC | 1 ms | 3632 KiB |
| 02-09.txt | AC | 1 ms | 3564 KiB |
| 02-10.txt | AC | 1 ms | 3712 KiB |
| 02-11.txt | AC | 1 ms | 3712 KiB |
| 02-12.txt | AC | 1 ms | 3592 KiB |
| 02-13.txt | AC | 1 ms | 3632 KiB |
| 02-14.txt | AC | 1 ms | 3556 KiB |
| 02-15.txt | AC | 1 ms | 3564 KiB |
| 03-01.txt | AC | 1 ms | 3552 KiB |
| 03-02.txt | AC | 1 ms | 3480 KiB |
| 03-03.txt | AC | 1 ms | 3516 KiB |
| 03-04.txt | AC | 1 ms | 3632 KiB |
| 03-05.txt | AC | 1 ms | 3548 KiB |
| 03-06.txt | AC | 1 ms | 3460 KiB |
| 03-07.txt | AC | 1 ms | 3548 KiB |
| 03-08.txt | AC | 1 ms | 3516 KiB |
| 03-09.txt | AC | 1 ms | 3548 KiB |
| 03-10.txt | AC | 1 ms | 3516 KiB |
| 03-11.txt | AC | 1 ms | 3716 KiB |
| 03-12.txt | AC | 1 ms | 3632 KiB |
| 03-13.txt | AC | 1 ms | 3552 KiB |
| 03-14.txt | AC | 1 ms | 3548 KiB |
| 03-15.txt | AC | 1 ms | 3552 KiB |
| 03-16.txt | AC | 1 ms | 3548 KiB |
| 03-17.txt | AC | 1 ms | 3556 KiB |
| 03-18.txt | AC | 1 ms | 3584 KiB |
| 03-19.txt | AC | 1 ms | 3504 KiB |
| 04-01.txt | AC | 4 ms | 3684 KiB |
| 04-02.txt | AC | 3 ms | 3824 KiB |
| 04-03.txt | AC | 1 ms | 3756 KiB |
| 04-04.txt | AC | 1 ms | 3712 KiB |
| 04-05.txt | AC | 5 ms | 3676 KiB |
| 04-06.txt | AC | 4 ms | 3680 KiB |
| 04-07.txt | AC | 3 ms | 3676 KiB |
| 04-08.txt | AC | 5 ms | 3656 KiB |
| 04-09.txt | AC | 3 ms | 3712 KiB |
| 04-10.txt | AC | 1 ms | 3844 KiB |
| 04-11.txt | AC | 3 ms | 3632 KiB |
| 04-12.txt | AC | 1 ms | 3840 KiB |
| 04-13.txt | AC | 1 ms | 3680 KiB |
| 04-14.txt | AC | 1 ms | 3796 KiB |
| 04-15.txt | AC | 1 ms | 3840 KiB |
| 04-16.txt | AC | 1 ms | 3712 KiB |
| 04-17.txt | AC | 1 ms | 3688 KiB |
| 04-18.txt | AC | 1 ms | 3840 KiB |
| 04-19.txt | AC | 1 ms | 3692 KiB |
| 04-20.txt | AC | 1 ms | 3680 KiB |
| 05-01.txt | AC | 18 ms | 8796 KiB |
| 05-02.txt | AC | 19 ms | 8820 KiB |
| 05-03.txt | AC | 14 ms | 8040 KiB |
| 05-04.txt | AC | 15 ms | 8348 KiB |
| 05-05.txt | AC | 17 ms | 8028 KiB |
| 05-06.txt | AC | 21 ms | 8028 KiB |
| 05-07.txt | AC | 31 ms | 8708 KiB |
| 05-08.txt | AC | 33 ms | 8660 KiB |
| 05-09.txt | AC | 28 ms | 8532 KiB |
| 05-10.txt | AC | 14 ms | 7960 KiB |
| 05-11.txt | AC | 18 ms | 8484 KiB |
| 05-12.txt | AC | 16 ms | 8380 KiB |
| 05-13.txt | AC | 18 ms | 7892 KiB |
| 05-14.txt | AC | 14 ms | 7620 KiB |
| 05-15.txt | AC | 14 ms | 7784 KiB |
| 05-16.txt | AC | 14 ms | 7648 KiB |
| 05-17.txt | AC | 32 ms | 8728 KiB |
| 05-18.txt | AC | 31 ms | 8724 KiB |
| 05-19.txt | AC | 15 ms | 7672 KiB |
| 05-20.txt | AC | 15 ms | 7704 KiB |
| 06-01.txt | AC | 198 ms | 17116 KiB |
| 06-02.txt | AC | 277 ms | 17092 KiB |
| 06-03.txt | AC | 19 ms | 15956 KiB |
| 06-04.txt | AC | 21 ms | 16952 KiB |
| 06-05.txt | AC | 169 ms | 16148 KiB |
| 06-06.txt | AC | 633 ms | 16076 KiB |
| 06-07.txt | AC | 1629 ms | 16724 KiB |
| 06-08.txt | AC | 2029 ms | 16788 KiB |
| 06-09.txt | AC | 1202 ms | 17044 KiB |
| 06-10.txt | AC | 1787 ms | 17116 KiB |
| 06-11.txt | AC | 1753 ms | 16916 KiB |
| 06-12.txt | AC | 1749 ms | 16900 KiB |
| 06-13.txt | AC | 19 ms | 16092 KiB |
| 06-14.txt | AC | 148 ms | 16124 KiB |
| 06-15.txt | AC | 196 ms | 16152 KiB |
| 06-16.txt | AC | 148 ms | 16144 KiB |
| 06-17.txt | AC | 6 ms | 11484 KiB |
| 06-18.txt | AC | 10 ms | 11540 KiB |
| 06-19.txt | AC | 5 ms | 11476 KiB |
| 06-20.txt | AC | 5 ms | 11548 KiB |
| 06-21.txt | AC | 18 ms | 15708 KiB |
| 06-22.txt | AC | 18 ms | 15836 KiB |
| 06-23.txt | AC | 18 ms | 15804 KiB |
| 06-24.txt | AC | 27 ms | 15724 KiB |
| 06-25.txt | AC | 23 ms | 15744 KiB |
| 06-26.txt | AC | 24 ms | 16080 KiB |
| 06-27.txt | AC | 31 ms | 15892 KiB |
| 06-28.txt | AC | 31 ms | 15680 KiB |
| 06-29.txt | AC | 30 ms | 15684 KiB |
| 07-01.txt | AC | 434 ms | 57500 KiB |
| 07-02.txt | AC | 383 ms | 57844 KiB |
| 07-03.txt | AC | 140 ms | 57568 KiB |
| 07-04.txt | AC | 149 ms | 54932 KiB |
| 07-05.txt | AC | 297 ms | 56604 KiB |
| 07-06.txt | AC | 996 ms | 55380 KiB |
| 07-07.txt | AC | 2135 ms | 55064 KiB |
| 07-08.txt | AC | 2548 ms | 54748 KiB |
| 07-09.txt | AC | 1569 ms | 54868 KiB |
| 07-10.txt | AC | 140 ms | 55300 KiB |
| 07-11.txt | AC | 302 ms | 55000 KiB |
| 07-12.txt | AC | 324 ms | 53968 KiB |
| 07-13.txt | AC | 171 ms | 52700 KiB |
| 07-14.txt | AC | 138 ms | 51280 KiB |
| 07-15.txt | AC | 137 ms | 51156 KiB |
| 07-16.txt | AC | 148 ms | 64012 KiB |
| 07-17.txt | AC | 2436 ms | 55400 KiB |
| 07-18.txt | AC | 2260 ms | 55388 KiB |
| 07-19.txt | AC | 161 ms | 64024 KiB |
| 07-20.txt | AC | 161 ms | 64012 KiB |
| 07-21.txt | AC | 174 ms | 57664 KiB |
| 07-22.txt | AC | 161 ms | 64036 KiB |
| 07-23.txt | AC | 160 ms | 63972 KiB |
| 07-24.txt | AC | 176 ms | 59840 KiB |
| sample-01.txt | AC | 1 ms | 3668 KiB |
| sample-02.txt | AC | 1 ms | 3552 KiB |
| sample-03.txt | AC | 1 ms | 3712 KiB |