Submission

Status:
[PPPPPPPPPPPPPPP]

Score: 100

User: njoop

Problemset: forex

Language: cpp

Time: 0.008 second

Submitted On: 2025-04-04 02:26:13

#include<bits/stdc++.h>
#define pii pair<int,int>
#define d long double
using namespace std;

const int N = 30;

d a[N+5][N+5];
d dp[N+5][N+5];
int main(){
	int n, idx=0, mn = 1e9;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(int x=1;x<=n;x++){
		vector<vector<d>> dp(n+1,vector<d>(n+5,0));
		dp[x][0] = 1.00;
		for(int k=1;k<=n;k++){
			for(int y=1;y<=n;y++){
				if(dp[y][k-1] == 0) continue;
				for(int z=1;z<=n;z++){
					dp[z][k] = max(dp[z][k],dp[y][k-1]*a[y][z]);
				}
				if(dp[x][k] > 1.01 && k < mn){
					idx = x;
					mn = k;
				}
			}
		}
	}
	if(idx){
		cout<<idx<<' '<<mn<<'\n';
	}else{
		cout<<"-1\n";
	}
}