Submission #645367

# Submission time Handle Problem Language Result Execution time Memory
645367 2022-09-26T23:06:07 Z rc_catunta Arranging Shoes (IOI19_shoes) C++17
30 / 100
18 ms 1868 KB
#include "shoes.h"
#include <bits/stdc++.h>

using namespace std;

long long count_swaps(vector<int> s) {
	if(s.size()/2 <= 8){
		int n = s.size()/2;
		// Etiquetar los zapatos
		map<int, int> m;
		int id = 1;
		for(auto zapato: s){
			if(zapato<0){
				m[id]=-zapato;
				id++;
			}
		}
		// Creamos el vector de posibilidades
		vector<int> v;
		for(int i=1;i<=n;i++) v.push_back(i);
		int res = 100000000;
		// Generador de posibilidades
		do{
			int pasos = 0;
			vector<int> cs = s;
			for(int i=0;i<v.size();i++){
				int tam = m[v[i]];
				// Colocar el izquierdo
				// Buscamos el izquierdo
				for(int j=i*2;j<cs.size();j++){
					if(cs[j]==-tam){
						for(int k=j-1;k>=i*2;k--){
							swap(cs[k],cs[k+1]);
							pasos++;
						}
						break;
					}
				}
				// Buscamos el izquierdo
				for(int j=i*2+1;j<cs.size();j++){
					if(cs[j]==tam){
						for(int k=j-1;k>=i*2+1;k--){
							swap(cs[k],cs[k+1]);
							pasos++;
						}
						break;
					}
				}
			}
			res = min(res,pasos);

		}while(next_permutation(v.begin(),v.end()));
		return res;
	}

	else return 0;
}

Compilation message

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:26:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |    for(int i=0;i<v.size();i++){
      |                ~^~~~~~~~~
shoes.cpp:30:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for(int j=i*2;j<cs.size();j++){
      |                   ~^~~~~~~~~~
shoes.cpp:40:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |     for(int j=i*2+1;j<cs.size();j++){
      |                     ~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 9 ms 212 KB Output is correct
27 Correct 9 ms 292 KB Output is correct
28 Correct 10 ms 212 KB Output is correct
29 Correct 8 ms 212 KB Output is correct
30 Correct 9 ms 212 KB Output is correct
31 Correct 9 ms 292 KB Output is correct
32 Correct 10 ms 296 KB Output is correct
33 Correct 10 ms 296 KB Output is correct
34 Correct 9 ms 296 KB Output is correct
35 Correct 9 ms 212 KB Output is correct
36 Correct 10 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 6 ms 212 KB Output is correct
14 Incorrect 0 ms 212 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Incorrect 18 ms 1868 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 9 ms 212 KB Output is correct
27 Correct 9 ms 292 KB Output is correct
28 Correct 10 ms 212 KB Output is correct
29 Correct 8 ms 212 KB Output is correct
30 Correct 9 ms 212 KB Output is correct
31 Correct 9 ms 292 KB Output is correct
32 Correct 10 ms 296 KB Output is correct
33 Correct 10 ms 296 KB Output is correct
34 Correct 9 ms 296 KB Output is correct
35 Correct 9 ms 212 KB Output is correct
36 Correct 10 ms 212 KB Output is correct
37 Incorrect 0 ms 212 KB Output isn't correct
38 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 9 ms 212 KB Output is correct
27 Correct 9 ms 292 KB Output is correct
28 Correct 10 ms 212 KB Output is correct
29 Correct 8 ms 212 KB Output is correct
30 Correct 9 ms 212 KB Output is correct
31 Correct 9 ms 292 KB Output is correct
32 Correct 10 ms 296 KB Output is correct
33 Correct 10 ms 296 KB Output is correct
34 Correct 9 ms 296 KB Output is correct
35 Correct 9 ms 212 KB Output is correct
36 Correct 10 ms 212 KB Output is correct
37 Correct 0 ms 212 KB Output is correct
38 Correct 0 ms 212 KB Output is correct
39 Correct 0 ms 212 KB Output is correct
40 Correct 0 ms 212 KB Output is correct
41 Correct 0 ms 212 KB Output is correct
42 Correct 0 ms 212 KB Output is correct
43 Correct 0 ms 212 KB Output is correct
44 Correct 0 ms 212 KB Output is correct
45 Correct 1 ms 212 KB Output is correct
46 Correct 0 ms 212 KB Output is correct
47 Correct 6 ms 212 KB Output is correct
48 Incorrect 0 ms 212 KB Output isn't correct
49 Halted 0 ms 0 KB -