답안 #968260

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
968260 2024-04-23T09:04:21 Z nguyentunglam 고대 책들 (IOI17_books) C++17
0 / 100
2000 ms 344 KB
#include "books.h"
#include<bits/stdc++.h>
using namespace std;


long long minimum_walk(std::vector<int> p, int s) {
  int n = p.size();
  vector<int> order(n);
  for(int i = 0; i < n; i++) order[i] = i;
  long long ans = 0;
  for(int i = 0; i < n; i++) ans += abs(i - p[i]);
  long long tmp = 1e18;
  do {
    int last = 0;
    long long cost = 0;
    for(int i = 0; i < n; i++) if (i != p[i]) {
      cost += abs(last - order[i]);
      last = p[order[i]];
    }
    tmp = min(tmp, cost);
  } while (next_permutation(order.begin(), order.end()));
	return ans + tmp;
}

#ifdef ngu

int main() {
  freopen ("task.inp", "r", stdin);
  freopen ("task.out", "w", stdout);
	int n, s;
	assert(2 == scanf("%d %d", &n, &s));

	vector<int> p((unsigned) n);
	for(int i = 0; i < n; i++)
		assert(1 == scanf("%d", &p[(unsigned) i]));

	long long res = minimum_walk(p, s);
	printf("%lld\n", res);

	return 0;
}
#endif // ngu
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 3rd lines differ - on the 1st token, expected: '6', found: '5'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 3rd lines differ - on the 1st token, expected: '6', found: '5'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 3rd lines differ - on the 1st token, expected: '6', found: '5'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2029 ms 344 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 3rd lines differ - on the 1st token, expected: '6', found: '5'
2 Halted 0 ms 0 KB -