A1093不会做
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cin>>s;
int result=0,countp=0,countt=0;
for(int i=0;i<s.length();i++)
{
if(s[i]=='T')
countt++;
}
for(int i=0;i<s.length();i++)
{
if(s[i]=='P') countp++;
if(s[i]=='T') countt--;
if(s[i]=='A') result=(result+(countp*countt)%1000000007)%1000000007;
}
cout<<result;
return 0;
}
A1101
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int v[100001];
int main()
{
int n,temp=0,max=0;
scanf("%d",&n);
vector<int> a(n),b(n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
sort(a.begin(),a.end());
for(int i=0;i<n;i++)//当前元素没有变化并且当前元素大于左边元素的最大值
{
if(a[i]==b[i]&&b[i]>max)
{
v[temp++]=a[i];
}
if(b[i]>max)
{
max=b[i];
}
}
printf("%d\n",temp);
for(int i=0;i<temp;i++)
{
if(i!=0) printf(" ");
printf("%d",v[i]);
}
printf("\n");
return 0;
}