Submission #257105

#TimeUsernameProblemLanguageResultExecution timeMemory
257105GREGOIRELCWiring (IOI17_wiring)C++14
13 / 100
37 ms3832 KiB
#include "wiring.h"
#include <cmath>
#include <iostream>	

using namespace std;

//#define int long long

const int MAX_POINT = 200 + 2;
const int INF = 1e9 + 7;

int nbRouge, nbBleu;
long long dp[MAX_POINT][MAX_POINT];
vector<pair<int, int> > position;

long long min_total_length(vector<int> r, vector<int> b)
{
	nbRouge = (int)r.size();
	nbBleu = (int)b.size();
	
	long long result = 0;
	if(nbRouge > nbBleu)
	{
		int curBleu = nbBleu - 1;
		for(int curRouge = nbRouge - 1; curRouge > -1; curRouge--)
		{
			result += b[curBleu] - r[curRouge];
			curBleu = max(0, curBleu - 1);
		}
	}
	else
	{
		int curRouge = 0;
		for(int curBleu = 0; curBleu < nbBleu; curBleu++)
		{
			result += b[curBleu] - r[curRouge];
			curRouge = min(curRouge + 1, nbRouge - 1);
		}
	}
	return result;
}
#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...