#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int dist(int n, int rid[], int dc[]) {
if(rid[n] != -1 && !dc[n]) {
dc[n] = dist(rid[n], rid, dc) + 1;
}
return dc[n];
}
#define N 100000
int main(int argc, char **argv) {
int rid[N] = {};
int dc[N] = {};
int n;
double p, r;
cin >> n >> p >> r;
for(int i = 0; i < n; i ++) {
scanf("%d", &rid[i]);
}
int maxd = 0, count = 0;
for(int i = 0; i < n; i ++) {
int d = dist(i, rid, dc);
if(d > maxd) {
maxd = d;
count = 1;
}
else if(d == maxd) {
count ++;
}
}
printf("%.2lf %d\n", pow((1.0+r/100.0), maxd)*p, count);
return 0;
}
1090. Highest Price in Supply Chain (25)
最新推荐文章于 2021-06-03 02:23:33 发布