Submission #330652

# Submission time Handle Problem Language Result Execution time Memory
330652 2020-11-26T04:53:23 Z egas Swapping Cities (APIO20_swap) C++14
6 / 100
1155 ms 37516 KB
#include <bits/stdc++.h>
using namespace std;
map<int,set<int>> adj;
multiset<int> ms;
map<pair<int,int>,int> edwt;
int SUBTASK1=0;
bool isCyc=0;
bool isSubtask1=true;
bool isCycle(){
	for(auto x:adj){
		if(x.second.size()<=1)return false;
		if(x.second.size()>2)isSubtask1=false;
	}
	return true;
}
void init(int N, int M,std::vector<int> U, std::vector<int> V, std::vector<int> W) {
	for(int i=0;i<M;i++){
		int x=U[i];
		int y=V[i];
		int z=W[i];
		ms.insert(z);
		edwt[{min(x,y),max(x,y)}]=z;
		SUBTASK1=max(SUBTASK1,(W[i]));
		adj[x].insert(y);
		adj[y].insert(x);
	}
	isCyc=isCycle();
}
 
int getMinimumFuelCapacity(int X, int Y) {
	if(isSubtask1){
		if(isCyc){
			return SUBTASK1;
		}else
			return -1;
	}else{
		if(ms.size()<=2){
			return -1;
		}
		if(X==0){
			int two = edwt[{0,Y}];
			int res=two;
			ms.erase(ms.find(two));
			if(ms.size()>0)
				res=max(res,(*ms.begin()));
			ms.insert(two);
			return -1;
		}
		int one = edwt[{0,X}];
		int two = edwt[{0,Y}];
		int res=max(one,two);
		ms.erase(ms.find(one));
		ms.erase(ms.find(two));
		if(ms.size()>0)
			res=max(res,(*ms.begin()));
		ms.insert(one);
		ms.insert(two);
		return res;
	}
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 512 KB Output is correct
5 Correct 2 ms 632 KB Output is correct
6 Correct 2 ms 620 KB Output is correct
7 Correct 2 ms 620 KB Output is correct
8 Correct 2 ms 620 KB Output is correct
9 Correct 303 ms 25676 KB Output is correct
10 Correct 399 ms 31104 KB Output is correct
11 Correct 372 ms 30700 KB Output is correct
12 Correct 438 ms 32364 KB Output is correct
13 Correct 421 ms 32492 KB Output is correct
14 Correct 306 ms 25580 KB Output is correct
15 Correct 457 ms 33396 KB Output is correct
16 Correct 435 ms 32412 KB Output is correct
17 Correct 477 ms 34260 KB Output is correct
18 Correct 465 ms 34260 KB Output is correct
19 Correct 90 ms 8812 KB Output is correct
20 Correct 494 ms 34536 KB Output is correct
21 Correct 465 ms 33444 KB Output is correct
22 Correct 517 ms 35664 KB Output is correct
23 Correct 521 ms 35664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Incorrect 1155 ms 37516 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 512 KB Output is correct
5 Correct 2 ms 632 KB Output is correct
6 Correct 2 ms 620 KB Output is correct
7 Correct 2 ms 620 KB Output is correct
8 Correct 2 ms 620 KB Output is correct
9 Correct 303 ms 25676 KB Output is correct
10 Correct 399 ms 31104 KB Output is correct
11 Correct 372 ms 30700 KB Output is correct
12 Correct 438 ms 32364 KB Output is correct
13 Correct 421 ms 32492 KB Output is correct
14 Correct 306 ms 25580 KB Output is correct
15 Correct 457 ms 33396 KB Output is correct
16 Correct 435 ms 32412 KB Output is correct
17 Correct 477 ms 34260 KB Output is correct
18 Correct 465 ms 34260 KB Output is correct
19 Incorrect 1155 ms 37516 KB Output isn't correct
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)