fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int add[200010]={},val[200010]={};
  4. int main() {
  5.  
  6. int n;
  7. scanf("%d",&n);
  8. long double sz=1.0,sum=0.0;
  9. while(n--){
  10. int t;
  11. scanf("%d",&t);
  12. if (t==1){
  13. int vall,range;
  14. scanf("%d%d",&range,&vall);
  15. sum+=range*vall;
  16. add[--range]+=vall;
  17. }
  18. else if (t==2){
  19. int vall;
  20. scanf("%d",&vall);
  21. val[(int)sz]=vall;
  22. add[(int)sz]=0;
  23. sum+=vall;
  24. sz++;
  25. }
  26. else{
  27. sz--;
  28. sum-=val[(int)sz]+add[(int)sz];
  29. add[(int)sz-1]+=add[(int)sz];
  30. }
  31. cout<<setprecision(12)<<fixed<<sum/sz<<endl;
  32. // printf("%.12lf \n",1.0*sum/sz);
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 17624KB
stdin
6
2 1
1 2 20
2 2
1 2 -3
3
3
stdout
0.500000000000
20.500000000000
14.333333333333
12.333333333333
17.500000000000
17.000000000000