답안 #1054070

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1054070 2024-08-12T05:49:15 Z ㅇ(#11107) 무지개나라 (APIO17_rainbow) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.h"
#else
#define debug(...)
#endif
using ll=long long;
using pii=array<int,2>;
const ll inf=1e9;
const int N=105,M=1005;
int n,m,k;
ll b[N][M],s[N][M];
ll g[N][N],c[N][N],d[N][N];
bool ok(ll C){
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[i][j]=C*g[i][j]-c[i][j];
	for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
	for(int i=1;i<=n;i++) if(d[i][i]<=0) return true;
	return false;
}
int main(){
	ios::sync_with_stdio(false); cin.tie(0);
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++) for(int j=1;j<=k;j++) cin>>b[i][j]>>s[i][j];
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=inf;
	for(int u,v,w,i=1;i<=m;i++){
		cin>>u>>v>>w;
		g[u][v]=w;
	}
	for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){
		for(int t=1;t<=k;t++) if(b[i][t]!=-1&&s[j][t]!=-1) c[i][j]=max(c[i][j],s[j][t]-b[i][t]);
	}
	ll L=1,R=1e9;
	while(L<=R){
		int M=(L+R)>>1;
		if(ok(M)) L=M+1;
		else R=M-1;
	}
	cout<<L-1;
	return 0;
}

Compilation message

/usr/bin/ld: /tmp/ccrG3FcL.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccXfRTxJ.o:rainbow.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccrG3FcL.o: in function `main':
grader.cpp:(.text.startup+0xed): undefined reference to `init(int, int, int, int, int, char*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x167): undefined reference to `colour(int, int, int, int)'
collect2: error: ld returned 1 exit status