fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. // define
  5.  
  6. #define execute cerr << " Time: " << fixed << setprecision(6) << (1.0 * clock() / CLOCKS_PER_SEC) << "s\n";
  7. #define ll long long
  8. #define ii pair <int , int>
  9. #define iii pair <int , ii>
  10. #define se second
  11. #define fi first
  12. #define all(v) (v).begin() , (v).end()
  13. #define Unique(v) sort(all(v)) , v.resize(unique(all(v)) - v.begin())
  14. #define bit(x,i) (((x) >> (i)) & 1LL)
  15. #define flip(x,i) ((x) ^ (1LL << (i)))
  16. #define ms(d,x) memset(d , x , sizeof(d))
  17. #define exist __exist
  18. #define ends __ends
  19. #define visit visited
  20. #define left __left
  21. #define right __right
  22. #define prev __prev
  23. #define next __next
  24. #define sitingfake 1
  25. #define orz 1
  26. //constant
  27.  
  28. const long long mod = 1e9 + 7;
  29. const long long linf = 4557430888798830399LL;
  30. const long long nlinf = -4485090715960753727LL;
  31. const int inf = 1061109567;
  32. const int ninf = -1044266559;
  33. const int dx[] = {0 , -1 , 0 , 1};
  34. const int dy[] = {-1 , 0 , 1 , 0};
  35.  
  36. template<typename T> bool maximize(T &a, const T &b)
  37. {
  38. if(a < b) {a = b; return 1;}
  39. return 0;
  40. }
  41.  
  42. template<typename T> bool minimize(T &a, const T &b)
  43. {
  44. if(a > b) {a = b; return 1;}
  45. return 0;
  46. }
  47.  
  48. void Plus(ll & a ,ll b)
  49. {
  50. b %= mod;
  51. a += b;
  52. if(a < 0) a += mod;
  53. a %= mod;
  54. return;
  55. }
  56.  
  57. void Mul(ll & a, ll b)
  58. {
  59. (a *= (b % mod)) %= mod;
  60. return;
  61. }
  62.  
  63. //code
  64. const int maxn = 1e5 + 7;
  65.  
  66. ll c[maxn];
  67.  
  68. int n , m , k;
  69. void solve(void)
  70. {
  71. cin >> n >> m >> k;
  72. for(int i = 1; i <= n; i++)
  73. {
  74. cin >> c[i];
  75. }
  76. if(n % 2 == 0)
  77. {
  78. cout << "0\n";
  79. return;
  80. }
  81. else
  82. {
  83. int numOperations = (n / 2) + 1;
  84.  
  85. if(numOperations > m)
  86. {
  87. cout << "0\n";
  88. return;
  89. }
  90. else
  91. {
  92. ll val = m / numOperations;
  93. ll minC = linf;
  94. for(int i = 1; i <= n; i += 2)
  95. {
  96. minC = min(minC , c[i]);
  97. }
  98. cout << min(minC , val * 1ll * k) << "\n";
  99. }
  100. }
  101. }
  102. /**
  103. 1
  104. 3 3 3
  105. 3 3 3
  106. **/
  107. signed main()
  108. {
  109. ios_base::sync_with_stdio(0);
  110. cin.tie(0);
  111. cout.tie(0);
  112.  
  113. #define task "orange"
  114.  
  115. if(fopen(task".inp","r"))
  116. {
  117. freopen(task".inp","r",stdin);
  118. freopen(task".out","w",stdout);
  119. }
  120.  
  121. int tc = 1;
  122. cin >> tc;
  123. while(tc--) solve();
  124.  
  125. // execute;
  126. }
  127.  
  128.  
  129.  
  130.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
0