Submission #1104065

# Submission time Handle Problem Language Result Execution time Memory
1104065 2024-10-22T16:04:26 Z Champ_Naman Group Photo (JOI21_ho_t3) C++17
5 / 100
5000 ms 564 KB
#include<bits/stdc++.h>
using namespace std;
#define nl '\n'

inline void solve(){
	int n;
	cin>>n;
	int a[n];
	for(int i=0; i<n; i++) cin>>a[i];

	vector<int> v(n);
	iota(v.begin(), v.end(), 1);

	int ans = 1e18;
	do{
		vector<int> b(n);
		for(int i=0; i<n; i++) b[i] = v[i];
		bool tf = true;
		for(int i=0; i<n-1; i++){
			if(b[i] >= b[i+1]+2) tf = false;
		}
		if(!tf) continue;

		int subans = 0;
		for(int i=0; i<n; i++){
			if(a[i] == b[i]) continue;

			for(int j=i+1; j<n; j++){
				if(a[i] != b[j]) continue;

				for(int k=j; k>i; k--){
					swap(b[k], b[k-1]);
					subans++;
					if(subans >= ans) break;
				}
				break;
			}
			if(subans >= ans) break;
		}

		ans = min(ans, subans);
	}while(next_permutation(v.begin(), v.end()));

	cout<<ans<<nl;
}

signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(NULL);cout.tie(NULL);

	int t = 1;
	//cin>>t;
	while(t--) solve();

	return 0;
}

Compilation message

Main.cpp: In function 'void solve()':
Main.cpp:14:12: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
   14 |  int ans = 1e18;
      |            ^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 564 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 10 ms 336 KB Output is correct
8 Correct 10 ms 336 KB Output is correct
9 Correct 10 ms 336 KB Output is correct
10 Correct 17 ms 452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 564 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 10 ms 336 KB Output is correct
8 Correct 10 ms 336 KB Output is correct
9 Correct 10 ms 336 KB Output is correct
10 Correct 17 ms 452 KB Output is correct
11 Execution timed out 5050 ms 336 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 564 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 10 ms 336 KB Output is correct
8 Correct 10 ms 336 KB Output is correct
9 Correct 10 ms 336 KB Output is correct
10 Correct 17 ms 452 KB Output is correct
11 Execution timed out 5050 ms 336 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 564 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 10 ms 336 KB Output is correct
8 Correct 10 ms 336 KB Output is correct
9 Correct 10 ms 336 KB Output is correct
10 Correct 17 ms 452 KB Output is correct
11 Execution timed out 5050 ms 336 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 564 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 10 ms 336 KB Output is correct
8 Correct 10 ms 336 KB Output is correct
9 Correct 10 ms 336 KB Output is correct
10 Correct 17 ms 452 KB Output is correct
11 Execution timed out 5050 ms 336 KB Time limit exceeded
12 Halted 0 ms 0 KB -