Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <vector>
  4. #include <cmath>
  5. #include <map>
  6. #include <algorithm>
  7. #include <string>
  8. #include <utility>
  9. #include <set>
  10. #include <stack>
  11. #include <deque>
  12. #include <ctime>
  13. #include <random>
  14. #include <cassert>
  15. #include <cmath>
  16. #include <climits>
  17. #include <queue>
  18. #include <cstring>
  19. #include <iomanip>
  20. //#pragma GCC optimize ("O3")
  21.  
  22.  
  23. #define int long long
  24. #define fi(a,b) for (int i=a;i<b;i++)
  25. #define fj(a,b) for (int j=a;j<b;j++)
  26. #define fk(a,b) for (int k=a;k<b;k++)
  27. #define fi1(a,b) for (int i=a-1;i>=b;i--)
  28. #define fj1(a,b) for (int j=a-1;j>=b;j--)
  29. #define fx(x,a) for (auto& x : a)
  30.  
  31. #define lb lower_bound
  32. #define ub upper_bound
  33.  
  34. #define sz(x) (int)x.size()
  35. #define all(x) begin(x), end(x)
  36. #define rall(x) rbegin(x), rend(x)
  37.  
  38.  
  39. using namespace std;
  40. typedef long long ll;
  41. typedef char ch;
  42. typedef string str;
  43. typedef vector <long long> vl;
  44. typedef vector <int> vi;
  45. typedef vector<vector<long long>> vvl;
  46. typedef vector<vector<int>> vvi;
  47. typedef vector<pair<ll, ll>> vpll;
  48. typedef vector<pair<int, int>> vpii;
  49. typedef vector<vector<pair<ll, ll>>> vvpll;
  50. typedef vector<vector<pair<int, int>>> vvpii;
  51. typedef vector<char> vch;
  52. typedef vector<vector<char>> vvch;
  53. typedef vector<string> vs;
  54. typedef map<ll, ll> mll;
  55. typedef map<int, int> mii;
  56. typedef map<ll, ch> mlch;
  57. typedef map<int, ch> mich;
  58. typedef map<ch, int> mchi;
  59. typedef map<ch, ll> mchl;
  60. typedef pair<int, int> pii;
  61. typedef pair<ll, ll> pll;
  62. typedef unsigned long long ull;
  63.  
  64.  
  65. ll powmod(ll a, ll b, ll mod) {
  66. if (b == 0 || a == 1)
  67. return mod == 1 ? 0 : 1;
  68.  
  69. if (b % 2 == 0) {
  70. ll k = powmod(a, b / 2, mod);
  71. return (k * k) % mod;
  72. }
  73. else {
  74. ll k = powmod(a, b / 2, mod);
  75. return ((k * k) % mod * a) % mod;
  76. }
  77. }
  78.  
  79. ll gcd(ll a, ll b) {
  80. while (b) {
  81. a %= b;
  82. swap(a, b);
  83. }
  84. return a;
  85. }
  86.  
  87. bool is_prime(ll n) {
  88. ll bound = sqrt(n);
  89. ll d = 2;
  90. while (d <= bound && n % d != 0)
  91. ++d;
  92. return d * d > n;
  93. }
  94.  
  95.  
  96. const int MOD = 1000000007;
  97. const int INF = 1000000050;
  98. const int MX = 100010;
  99. const double EPS = 1e-9;
  100.  
  101. mt19937 rnd;
  102.  
  103. struct inf {
  104. int l;
  105. int r;
  106. int f;
  107. };
  108.  
  109. signed main() {
  110. #ifdef LOCAL
  111. freopen("input.txt", "r", stdin);
  112. const int MAXN = 10000;
  113. #endif
  114. ios_base::sync_with_stdio(false);
  115. cin.tie(NULL);
  116. cout.tie(NULL);
  117.  
  118. int n, v, F;
  119. cin >> n >> v >> F;
  120. cout.precision(10);
  121. ll sum = 0;
  122. ll allt = 0;
  123. fi(0, n) {
  124. int t, k;
  125. cin >> t >> k;
  126. fj(0, k) {
  127. int l;
  128. int r;
  129. int f;
  130. cin >> l >> r >> f;
  131. if (sum + (r - l) * f > F) {
  132. double left = l;
  133. double right = r;
  134. while (right - left > EPS) {
  135. double m = (right + left) / 2;
  136. if (sum + (m - l) * f >= F)
  137. right = m;
  138. else
  139. left = m;
  140. }
  141. cout <<double(allt) + left;
  142. } else if (sum + (r - l) * f == F) {
  143. cout << allt + r;
  144. }
  145. sum += (r - l) * f;
  146. }
  147. allt += t;
  148. }
  149. cout << -1;
  150.  
  151. // you should actually read the stuff at the bottom
  152. }
  153.  
  154. /* stuff you should look for
  155. * int overflow, array bounds
  156. * special cases (n=1?), set tle
  157. * do smth instead of nothing and stay organized
  158. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement