Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: meme_boi2

Problemset: forex

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-21 11:32:05

#include <bits/stdc++.h>
using namespace std;
double dd[31][31];
double dp[31][31][31];
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int n;
    cin >> n;
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            cin >> dd[i][j];
        }
    }
    for(int k = 1; k <= n; k++){
        for(int t = 1; t <= n; t++){
            for(int i = 1; i <= n; i++){
                for(int j = 1; j <= n; j++){
                    if(k == 1){
                        dp[k][i][j] = dd[i][j];
                    }else{
                        dp[k][i][j] = max(dp[k][i][j], dp[k-1][i][t] * dd[t][j]);
                    }
                }
            }
        }
    }
    for(int i = 2; i <= n; i++){
        for(int k = 1; k <= n; k++){
            if(dp[i][k][k] > 1.01){
                cout << k << ' ' << i;
                return 0;
            }
        }
    }
    cout << -1;
}