#include <stdio.h>
#include <stdlib.h>
long long int arr[80001]= {},stack[80001]= {};
long long int top;
void init()
{
top=-1;
}
void push(long long int data)
{
top++;
stack[top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
long long int n,i,j,cnt=0;
init();
scanf("%d", &n);
for(i=0; i<n; i++)
{
scanf("%d", &arr[i]);
}
push(arr[0]);
for(i=1; i<n; i++)
{
if(stack[top]<=arr[i])
{
do
{
if(top==-1)
{
break;
}
else
{
pop();
}
}
while(stack[top]<=arr[i]);
}
push(arr[i]);
cnt = cnt+top;
//printf("i = %d cnt = %d\n", i,cnt);
}
printf("%lld", cnt);
}
#include<stdio.h>
int memo[50][50]={};
int rec(int r,int c)
{
if(r==1 || c==1)
{
return memo[r][c] = 1;
}
if(memo[r][c]!=0) return memo[r][c];
return memo[r][c] = (rec(r-1,c)+rec(r,c-1))%100000000;
}
int main()
{
int r,c;
scanf("%d %d", &r, &c);
printf("%d", rec(r,c)%100000000);
}
#include<stdio.h>
int main()
{
int h,m;
scanf("%d %d",&h,&m);
if(m>=30)
{
printf("%d %d", h, m-30);
}
else if(h!=0)
{
printf("%d %d", h-1, m+30);
}
else
{
printf("%d %d", 23,m+30);
}
}
#include<stdio.h>
int main()
{
int time,s1,s2,k;
scanf("%d %d %d",&time,&s1,&s2);
if(time%5==0)
{
k=(90-time)/5;
}
else
{
k=(90-time)/5+1;
}
s1+=k;
if(s2==s1)
{
printf("same");
}
else if(s2>s1)
{
printf("lose");
}
else
{
printf("win");
}
}
#include<stdio.h>
char stack[230]={};
int top;
void init()
{
top=-1;
}
int pop()
{
return stack[top--];
}
void push(int data)
{
top++;
stack[top]=data;
}
int main()
{
int n,i;
scanf("%d",n);
for(i=0;i<n;i++)
{
scanf("%s", &stack[i]);
}
init();
}