Submission #1036383

# Submission time Handle Problem Language Result Execution time Memory
1036383 2024-07-27T09:59:33 Z beaconmc Wiring (IOI17_wiring) C++14
10 / 100
589 ms 118708 KB
#include "wiring.h"
#include <bits/stdc++.h>
 
typedef long long ll;
#define FOR(i,x,y) for(ll i=x; i<y; i++)
#define FORNEG(i,x,y) for(ll i=x; i>y; i--)
 
using namespace std;
 
 
ll n,m;
vector<ll> R,B;
unordered_map<int,ll> cache;
unordered_map<int,ll> poses;
 
ll dp(ll x, ll y){
	if (abs(poses[R[x]]-poses[B[y]]) > 20) return 1000000000000000;
	if (cache.count(x*1000000+y)) return cache[x*1000000+y];
	if (x==n && y==m) return 0;
	if (x>=n || y >= m) return 1000000000000000;
    
 
	return cache[x*1000000+y] = min(dp(x+1,y), min(dp(x,y+1), dp(x+1,y+1))) + abs(R[x] - B[y]);
}
 
long long min_total_length(std::vector<int> r, std::vector<int> b) {
	R.clear();
	B.clear();
	vector<ll> stuff;
	for (auto&i : r) stuff.push_back(i);
	for (auto&i : b) stuff.push_back(i);

	sort(stuff.begin(), stuff.end());
	FOR(i,0,stuff.size()){
		poses[stuff[i]] = i;
	}

	cache.clear();
	for (auto&i : r) R.push_back(i);
	for (auto&i : b) B.push_back(i);
	n = r.size();
	m = b.size();
	return dp(0,0);
}

Compilation message

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:6:33: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for(ll i=x; i<y; i++)
......
   35 |  FOR(i,0,stuff.size()){
      |      ~~~~~~~~~~~~~~~~            
wiring.cpp:35:2: note: in expansion of macro 'FOR'
   35 |  FOR(i,0,stuff.size()){
      |  ^~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB 3rd lines differ - on the 1st token, expected: '445668', found: '1000000000000000'
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB 3rd lines differ - on the 1st token, expected: '84383', found: '1000000000000000'
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 589 ms 112840 KB Output is correct
4 Correct 527 ms 118456 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 482 ms 112952 KB Output is correct
19 Correct 506 ms 112824 KB Output is correct
20 Correct 507 ms 118708 KB Output is correct
21 Correct 496 ms 112880 KB Output is correct
22 Correct 571 ms 113240 KB Output is correct
23 Correct 490 ms 113328 KB Output is correct
24 Correct 490 ms 113408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 37 ms 16048 KB 3rd lines differ - on the 1st token, expected: '373710605', found: '1000000000000000'
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB 3rd lines differ - on the 1st token, expected: '445668', found: '1000000000000000'
8 Halted 0 ms 0 KB -