func_code_string: #include <bits/stdc++.h>   using namespace std;   const double PI = 2.0 * acos(0.0);   const double E = exp(1);   int x[] = {0, 0, -1, 1};   int y[] = {-1, 1, 0, 0};   template <class T1>   void deb(T1 e) {     cout << e << endl;   }   template <class T1, class T2>   void deb(T1 e1, T2 e2) {     cout << e1 <<     << e2 << endl;   }   template <class T1, class T2, class T3>   void deb(T1 e1, T2 e2, T3 e3) {     cout << e1 <<     << e2 <<     << e3 << endl;   }   template <class T1, class T2, class T3, class T4>   void deb(T1 e1, T2 e2, T3 e3, T4 e4) {     cout << e1 <<     << e2 <<     << e3 <<     << e4 << endl;   }   template <class T1, class T2, class T3, class T4, class T5>   void deb(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5) {     cout << e1 <<     << e2 <<     << e3 <<     << e4 <<     << e5 << endl;   }   template <class T1, class T2, class T3, class T4, class T5, class T6>   void deb(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5, T6 e6) {     cout << e1 <<     << e2 <<     << e3 <<     << e4 <<     << e5 <<     << e6          << endl;   }   template <typename T>   inline T sqr(T n) {     return n * n;   }   inline double hypot(double x, double y) { return sqrt(sqr(x) + sqr(y)); }   template <typename T>   inline T pmod(T n, T m) {     return ((n % m) + m) % m;   }   template <typename T>   T power(T n, int p) {     return (p == 0) ? (T)(1) : (sqr(power(n, p >> 1)) * ((p & 1) * (n - 1) + 1));   }   template <typename T>   T bigmod(T n, int p, T m) {     return (p == 0)                ? (T)(1)                : ((sqr(bigmod(n, p >> 1, m)) % m) * ((p & 1) * (n - 1) % m + 1)) %                      m;   }   double dp[5005][5005];   double p[5005];   int t[5005];   double pw[5005];   int main() {     int n, T;     cin >> n >> T;     for (int i = 1; i <= n; i++) {       cin >> p[i] >> t[i];       p[i] /= 100.00;       pw[i] = pow(1.00 - p[i], t[i]);     }     for (int i = n; i >= 1; i--) {       for (int j = T; j >= 1; j--) {         dp[i][j] = p[i] * (dp[i + 1][j + 1] + 1);         double tmp = dp[i][j + 1] * (1.00 - p[i]);         if (j + t[i] <= T + 1) tmp += pw[i] * (dp[i + 1][j + t[i]] + 1);         if (j + t[i] + 1 <= T + 1) tmp -= pw[i] * (dp[i + 1][j + t[i] + 1] + 1);         dp[i][j] += tmp;       }     }     cout << setprecision(9) << dp[1][1] <<   n ;   }   