fork download
  1. #include<iostream>
  2. #include<stack>
  3. using namespace std;
  4. void printSpan(int arr[],int n){
  5. stack<int>s;
  6. int betterDay;
  7. int ans[100]={};
  8. for(int day=0;day<n;day++){
  9. int curPrice = arr[day];
  10. while(s.empty()==false&&arr[s.top()]<curPrice){
  11. s.pop();
  12. }
  13. if(s.empty()){
  14. betterDay=0;
  15. }
  16. else{
  17. betterDay=s.top();
  18. }
  19. int span=day-betterDay;
  20. ans[day]=span;
  21. s.push(day);
  22. }
  23. for(int i=0;i<n;i++){
  24. cout<<ans[i]<<" ";
  25. }
  26. cout<<"END";
  27. }
  28. int main() {
  29. int arr[1000003],n;
  30. cin>>n;
  31. for(int i=0;i<n;i++){
  32. cin>>arr[i];
  33. }
  34. printSpan(arr,n);
  35. return 0;
  36. }
Success #stdin #stdout 0s 4348KB
stdin
Standard input is empty
stdout
END