Submission #71406

# Submission time Handle Problem Language Result Execution time Memory
71406 2018-08-24T13:22:54 Z Kmcode Wiring (IOI17_wiring) C++14
0 / 100
112 ms 49184 KB
#include<bits/stdc++.h>
//#include "books.h"
using namespace std;

#define MAX 100002
int n;
long long int dp[MAX][60];
long long min_total_length(std::vector<int> r, std::vector<int> b) {
	for(int i=0;i<r.size();i++){
		for(int j=0;j<60;j++){
			dp[i][j]=LLONG_MAX;
		}
	}
	dp[0][20]=abs(r[0]-b[0]);
	for(int i=0;i<r.size();i++){
		for(int j1=0;j1<40;j1++){
			int j=i+j1-20;
			if(j<0||j>=b.size())continue;
			if(dp[i][j1]==LLONG_MAX)continue;
			long long int val=dp[i][j1];
			if(i+1<r.size()){
				int base=i+1-20;
				if(j-base>=0)dp[i+1][j-base]=min(dp[i+1][j-base],val+(long long int)abs(r[i+1]-b[j]));
			}
			if(j+1<b.size()){
				int base=i-20;
				if(j+1-base>=0)dp[i][j+1-base]=min(dp[i][j+1-base],val+(long long int)abs(r[i]-b[j+1]));
			}
			if(i+1<r.size()&&j+1<b.size()){
				int base=i+1-20;
				if(j+1-base>=0)dp[i+1][j+1-base]=min(dp[i+1][j+1-base],val+(long long int)abs(r[i+1]-b[j+1]));
			}
		}
	}
	int t=r.size()-1;
	return dp[r.size()-1][20];
}

Compilation message

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:9:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<r.size();i++){
              ~^~~~~~~~~
wiring.cpp:15:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<r.size();i++){
              ~^~~~~~~~~
wiring.cpp:18:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(j<0||j>=b.size())continue;
            ~^~~~~~~~~~
wiring.cpp:21:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(i+1<r.size()){
       ~~~^~~~~~~~~
wiring.cpp:25:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(j+1<b.size()){
       ~~~^~~~~~~~~
wiring.cpp:29:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(i+1<r.size()&&j+1<b.size()){
       ~~~^~~~~~~~~
wiring.cpp:29:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(i+1<r.size()&&j+1<b.size()){
                     ~~~^~~~~~~~~
wiring.cpp:35:6: warning: unused variable 't' [-Wunused-variable]
  int t=r.size()-1;
      ^
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 376 KB 3rd lines differ - on the 1st token, expected: '25859', found: '9223372036854775807'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 376 KB 3rd lines differ - on the 1st token, expected: '904', found: '9223372036854775807'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 564 KB Output is correct
2 Correct 2 ms 564 KB Output is correct
3 Incorrect 112 ms 48952 KB 3rd lines differ - on the 1st token, expected: '1068938599', found: '285215156774'
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 48952 KB Output is correct
2 Incorrect 100 ms 49184 KB 3rd lines differ - on the 1st token, expected: '373710605', found: '2190940611'
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 376 KB 3rd lines differ - on the 1st token, expected: '25859', found: '9223372036854775807'
2 Halted 0 ms 0 KB -