Submission #72634

# Submission time Handle Problem Language Result Execution time Memory
72634 2018-08-26T12:58:16 Z idan_izmirli Wiring (IOI17_wiring) C++14
13 / 100
65 ms 2332 KB
#include "wiring.h"

using namespace std;


long long inline mmin(long long a,long long b)
{
	if(a<b)
	{
		return a;
	}
	return b;
}

long long inline mabs(long long a)
{
	if(a<0)
	{
		return -a;
	}
	return a;
}

long long best[2][100000];



long long min_total_length(std::vector<int> r, std::vector<int> b) {
	if(r[r.size()-1]>b[0])
	{
		for(int i=0;i<r.size();i++)
		{
			for(int j=0;j<b.size();j++)
			{
				best[i][j]=mabs(r[i]-b[j]);
				if(i==0)
				{
					if(j!=0)
					{
						best[i%2][j]+=best[i%2][j-1];
					}
				}
				else if(j==0)
				{
					best[i%2][j]+=best[(i+1)%2][j];
				}
				else
				{
					best[i%2][j]+=mmin(mmin(best[(i+1)%2][j],best[i%2][j-1]),best[(i+1)%2][j-1]);
				}
			}
		}
		return best[(r.size()+1)%2][b.size()-1];
	}
	long long result=0;
	long long blue,red;
	for(int i=0;(i<r.size())||(i<b.size());i++)
	{
		if(i>=r.size())
		{
			red=r[r.size()-1];
		}
		else
		{
			red=r[i];
		}
		if(i>=b.size())
		{
			blue=b[0];
		}
		else
		{
			blue=b[b.size()-1-i];
		}
		result+=blue-red;
	}
	return result;
}

Compilation message

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:31:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<r.size();i++)
               ~^~~~~~~~~
wiring.cpp:33:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=0;j<b.size();j++)
                ~^~~~~~~~~
wiring.cpp:57:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;(i<r.size())||(i<b.size());i++)
               ~^~~~~~~~~
wiring.cpp:57:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;(i<r.size())||(i<b.size());i++)
                             ~^~~~~~~~~
wiring.cpp:59:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(i>=r.size())
      ~^~~~~~~~~~
wiring.cpp:67:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(i>=b.size())
      ~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 580 KB Output is correct
2 Correct 3 ms 580 KB Output is correct
3 Correct 35 ms 1840 KB Output is correct
4 Correct 32 ms 1840 KB Output is correct
5 Correct 29 ms 1840 KB Output is correct
6 Correct 41 ms 2204 KB Output is correct
7 Correct 41 ms 2332 KB Output is correct
8 Correct 37 ms 2332 KB Output is correct
9 Correct 65 ms 2332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2332 KB Output is correct
2 Runtime error 4 ms 2332 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 2332 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -