답안 #330653

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
330653 2020-11-26T04:54:11 Z egas 자매 도시 (APIO20_swap) C++14
6 / 100
1235 ms 43216 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 res;
		}
		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 0 ms 364 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 2 ms 620 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 328 ms 25484 KB Output is correct
10 Correct 383 ms 31212 KB Output is correct
11 Correct 406 ms 30576 KB Output is correct
12 Correct 443 ms 32492 KB Output is correct
13 Correct 411 ms 32492 KB Output is correct
14 Correct 346 ms 25580 KB Output is correct
15 Correct 461 ms 33396 KB Output is correct
16 Correct 457 ms 32412 KB Output is correct
17 Correct 476 ms 34256 KB Output is correct
18 Correct 510 ms 34272 KB Output is correct
19 Correct 95 ms 8940 KB Output is correct
20 Correct 490 ms 34664 KB Output is correct
21 Correct 506 ms 33516 KB Output is correct
22 Correct 513 ms 35664 KB Output is correct
23 Correct 504 ms 35668 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 Correct 1233 ms 37388 KB Output is correct
4 Correct 1177 ms 43216 KB Output is correct
5 Incorrect 1235 ms 42120 KB Output isn't correct
6 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 0 ms 364 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 2 ms 620 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 328 ms 25484 KB Output is correct
10 Correct 383 ms 31212 KB Output is correct
11 Correct 406 ms 30576 KB Output is correct
12 Correct 443 ms 32492 KB Output is correct
13 Correct 411 ms 32492 KB Output is correct
14 Correct 346 ms 25580 KB Output is correct
15 Correct 461 ms 33396 KB Output is correct
16 Correct 457 ms 32412 KB Output is correct
17 Correct 476 ms 34256 KB Output is correct
18 Correct 510 ms 34272 KB Output is correct
19 Correct 1233 ms 37388 KB Output is correct
20 Correct 1177 ms 43216 KB Output is correct
21 Incorrect 1235 ms 42120 KB Output isn't correct
22 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)