### 题目分析
首先我们可以知道,这道题其实就是由逆序对演变而来的。以此类推,我们可以发现,当一个位置是小于号时,我们就需要加一,也就是当前连续不间断地小于号个数。而当当前位置是一个大于号的时候,我们就需要统计答案了。也就是当前位置连续不间断地小于号个数。
#include<bits/stdc++.h>
#define int long long //记得开long long(ll)
#define wh(x) write(x),putchar('\n')
#define A printf("Aoki")
#define T printf("Takahashi")
using namespace std;
char a;
int n,m,k,jk,sum,num,ans;
void read(int &x)
{
x=0;int ff=1;char ty;
ty=getchar();
while(!(ty>='0'&&ty<='9'))
{
if(ty=='-') ff=-1;
ty=getchar();
}
while(ty>='0'&&ty<='9')
x=(x<<3)+(x<<1)+ty-'0',ty=getchar();
x*=ff;return;
}
void write(int x)
{
if(x==0){
putchar('0');return;
}
if(x<0){
x=-x;putchar('-');
}
char asd[201];int ip=0;
while(x) asd[++ip]=x%10+'0',x/=10;
for(int i=ip;i>=1;i--) putchar(asd[i]);
return;
}
signed main() //用了 #define 就要用signed了
{
read(n);
for(int i=1;i<=n;i++) //字符串长度
{
scanf("%c",&a); //其实可以每次只输入一个字符
if(a=='>') sum++; //当条件成立时,个数加一
else ans+=(sum*(sum+1))/2,sum=0; //不成立的话加上方案数
}
return wh(ans),0; //输出ans并结束等于wh(ans);return 0;
return 0;
}