lina_os

Untitled

Apr 2nd, 2025 (edited)
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  8. int t;
  9. cin >> t;
  10. while (t--) {
  11. int n;
  12. cin >> n;
  13. vector<ll>v(n);
  14. set<ll>dn;
  15. vector<pair<int,int>>pr;
  16. for (int i=0; i<n; i++) {
  17. cin >> v[i];
  18. if (!i) pr.insert(pr.end(), {v[i],1});
  19. else if (i&&v[i]>=v[i-1]) {
  20. if (v[i]!=v[i-1]) pr.insert(pr.end(), {v[i],0});
  21. for (auto &j:pr) {
  22. j.second++;
  23. }
  24. }
  25. else {
  26. int f=0;
  27. for (auto x:pr) {
  28. if (x.first == v[i]) f=1;
  29. }
  30. set<int>s;
  31. for (auto x:pr) {
  32. if (x.first > v[i]) s.insert(x.second);
  33. }
  34. if (!f) pr.insert(pr.end(), {v[i],*s.rbegin()});//
  35. for (int j=0; j<pr.size(); j++) {
  36. if (pr[j].first >v[i]) {
  37. dn.insert(pr[j].first*pr[j].second);
  38. pr.erase(pr.begin()+j);
  39. j--;
  40. }
  41. else pr[j].second++;
  42. }
  43. }
  44. }
  45. for (int j=0; j<pr.size(); j++) {
  46. dn.insert(pr[j].first * pr[j].second);
  47. }
  48. cout << *dn.rbegin() << endl;
  49. //4 3 4 2 6
  50. //
  51.  
  52. //2 1 4 5 1 3 3
  53. //21 12 41,13 51,42,14 15 16,31 17,32-
  54. // 2 2,5 2,5,8 2,5,8,6,7
  55. // 1 2 1 2 2
  56. // 1 2 2
  57. // 1 2 3 4 3 4 4
  58. // 1 2 3 4 5 4 8 5 8
  59. // 1 5 8 8
  60. // 1 2 3 6 3 8
  61. // 1 2 3 7 3 8
  62. }
  63. return 0;
  64. }
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment