Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: mantaggez
Problemset: forex
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-21 21:55:39
#include <bits/stdc++.h>
using namespace std;
const int nx = 35;
int n;
double c[nx][nx], dp[nx][nx][nx];
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin >> n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin >> c[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
dp[i][j][1] = c[i][j];
for(int k=1;k<=n;k++) {
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++) {
for(int mid=1;mid<=n;mid++) {
dp[i][j][k] = max(dp[i][j][k], dp[i][mid][k - 1] * c[mid][j]);
}
}
}
}
for(int k=1;k<=n;k++) {
for(int i=1;i<=n;i++) {
if(dp[i][i][k] > 1.01) {
cout << i << ' ' << k << '\n';
return 0;
}
}
}
cout << -1 << '\n';
return 0;
}