#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
#define N 100000
inline double rate(int i, double rr[], double r) {
if(!rr[i]) {
int j = i;
for(; !rr[j]; j --) ;
for(j ++; j <= i; j ++) {
rr[j] = rr[j-1] * (1.0+r/100.0);
}
}
return rr[i];
}
inline int exp(int i, int rid[], int expo[]) {
if(expo[i] || i == 0)
return expo[i];
else {
expo[i] = exp(rid[i], rid, expo) + 1;
return expo[i];
}
}
double rr[N] = {};
int rid[N] = {};
double retailer[N] = {};
int expo[N] = {};
int main(int argc, char **argv) {
int n;
double p, r;
scanf("%d%lf%lf", &n, &p, &r);
for(int i = 0; i < n; i ++) {
int m;
scanf("%d", &m);
if(!m) {
scanf("%lf", &retailer[i]);
}
else {
for(int j = 0; j < m; j ++) {
int c;
scanf("%d", &c);
rid[c] = i;
}
}
}
rr[0] = 1.0;
double sale = 0;
for(int i = 0; i < n; i ++) {
if(retailer[i]) {
sale += retailer[i]*p*rate(exp(i, rid, expo), rr, r);
}
}
printf("%.1lf\n", sale);
return 0;
}
1079. Total Sales of Supply Chain (25)
最新推荐文章于 2021-09-03 19:59:35 发布