fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6.  
  7.  
  8. int main() {
  9. int n,x,max=-1;
  10. cin>>n;
  11.  
  12. vector <pair < int,int> >v,m;
  13. v.resize(n);
  14. m.resize(n);
  15. int flag=-1;
  16. for(int i=0;i<n;++i){
  17. cin>>x;
  18. v[i].first=x;
  19. v[i].second=i;
  20. m[i].first=-v[i].first;
  21. m[i].second=-v[i].second;
  22. // v.push_back(make_pair(x,i));
  23. // m.push_back(make_pair(x,i));
  24. }
  25. sort(m.begin(),m.end());
  26.  
  27.  
  28. cout<<v[0].first<<endl<<m[0].first<< " " <<m[1].first<<" "<<m[2].first<<endl;
  29.  
  30. int plus=0;
  31. for(int i=0;i<n;++i){
  32. if(i==n-1){
  33. cout<<v[i].first;
  34. return 0;}
  35.  
  36. if(v[i].first<-m[plus].first &&v[i].second < -m[plus].second)
  37. cout<<v[i].first+m[plus].first+1;
  38. else if(v[i].first==-m[plus].first && v[i].second==-m[plus].second){
  39. cout<<0;
  40. ++plus;}
  41. else{continue;}
  42. // if(m[i].first==m[i+1].first && m[i+1]!=m[n-1]){
  43. // if(m[i].second<m[i+1].second)
  44. // cout<<v[i].first-m[i+1].first +1;}
  45.  
  46.  
  47. }
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 15240KB
stdin
3
2 1 3
stdout
2
-3 -2 -1
0-13