답안 #330652

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
330652 2020-11-26T04:53:23 Z egas 자매 도시 (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;
	}
}
# 결과 실행 시간 메모리 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
# 결과 실행 시간 메모리 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 -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)
# 결과 실행 시간 메모리 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 -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 492 KB Execution killed with signal 6 (could be triggered by violating memory limits)