Submission

Status:

[PP-SSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: C12

Problemset: forex

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-07 00:15:00

#include <bits/stdc++.h>

using namespace std;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    int n;
    double cost[31][31] = {0};

    double dp[31][31];

    cin >> n;
    for(int i = 0;i < n;i++){
        for(int j = 0;j < n;j++){
            cin >> cost[i][j];
            dp[i][j] = INT_MIN;
        }
        dp[i][i] = 1;
    }

    
    for(int i = 0;i < n;i++){
        int b = 1;
        int c = 0;
        while(b){
            b = 0;
            c++;
            // cerr << c << '\n';
            for(int j = 0;j < n;j++){
                for(int k = 0;k < n;k++){
                    if(dp[i][j] * cost[j][k] > dp[i][k]){
                        dp[i][k] = dp[i][j] * cost[j][k];
                        b = 1;
                    }
                }
            }
            
            if(dp[i][i] >= 1.01){
                cout << (i+1) << ' ' << (c+1);
                return 0;
            }
        }    
    }
    cout << -1;

    return 0;
}