I am getting WA .
Please tell me the mistakes in my code:
#include <bits/stdc++.h>
using namespace std;
int main(){
long long int n;
long long int a[100005];
while (cin>>n && n!=0){
for(int j=0;j<n;j++){
cin>>a[j];
}
long long int i,area,m=0;
stack< long long int > s;
for( i=0;i<n;){
long long int t=a[i];
if(s.empty() || t>=a[s.top()] ){
s.push(i++);
}
else{
long long int p=s.top();
s.pop();
if(s.empty()){
area=a[p]*i;
}
else{
area=a[p]*(i-s.top()-1);
}
}
m=max(m,area);
}
while (!(s.empty())){
long long int q=s.top();
s.pop();
if(s.empty()) {
area = a[q] *i;
}
else{
area=a[q]*(i-s.top()-1);
}
m=max(m,area);
}
cout<<m<<endl;
}
return 0;
}