제출 #423665

#제출 시각아이디문제언어결과실행 시간메모리
423665Bill_00Ancient Books (IOI17_books)C++14
22 / 100
168 ms15848 KiB
#include "books.h"
#include  <bits/stdc++.h>
#define ll long long
using namespace std;
int p[1000005],ans,vis[1000005],mx;
void dfs(int node){
	ans+=(abs(node-p[node]));
	vis[node]=1;
	mx=max(node,mx);
	if(vis[p[node]]) return;
	dfs(p[node]);
}
long long minimum_walk(std::vector<int> P, int s){
	int pre=0;
	for(int i=0;i<P.size();i++) p[i]=P[i];
	for(int i=0;i<P.size();i++){
		if(vis[i]==0 && i!=p[i]){
			if(i>mx){
				ans+=((i-mx)*2);
			}
			dfs(i);
		}
	}
	return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:15:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |  for(int i=0;i<P.size();i++) p[i]=P[i];
      |              ~^~~~~~~~~
books.cpp:16:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for(int i=0;i<P.size();i++){
      |              ~^~~~~~~~~
books.cpp:14:6: warning: unused variable 'pre' [-Wunused-variable]
   14 |  int pre=0;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...