fork(2) download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4. #include <utility>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. #define FOR(i,a,b) for(int i=a; i<b; i++)
  10. #define REP(i,a,b) for(int i=a; i<=b; i++)
  11. #define LL long long
  12. #define PP pair<int,int>
  13.  
  14. int n,k;
  15. vector<PP> v;
  16. vector<int> a;
  17.  
  18. LL F(int i,int j,int k)
  19. {
  20. //i < j < k
  21. return a[i] + a[j]*2 + a[k] * 3;
  22. }
  23.  
  24. int main()
  25. {
  26.  
  27.  
  28.  
  29. cin>>n;
  30. a.resize(n);
  31.  
  32. FOR(i,0,n)
  33. {
  34. cin>>a[i];
  35. v.push_back(make_pair(a[i],i));
  36. }
  37.  
  38. sort(v.begin(),v.end());
  39.  
  40. //Tim den nhom dau tien
  41. int index = v[n-1].second;
  42. int count = 3;
  43. LL t = v[n-1].first * 3;
  44. for(int i=n-1; i>=0; i--)
  45. {
  46. if(v[i].second < index)
  47. {
  48. count--;
  49. if(count > 0)
  50. {
  51. index = v[i].second;
  52. //cout<<index<<" - "<<v[i].first<<endl;
  53. t += count*v[i].first;
  54. }
  55. }
  56. }
  57.  
  58. cout<<t<<endl;
  59.  
  60. return 0;
  61. }
Runtime error #stdin #stdout 0s 3416KB
stdin
Standard input is empty
stdout
Standard output is empty