CF1699C The Third Problem
作者:互联网
思路:
找规律。
实现:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int a[100005]; 4 int main(){ 5 //freopen("in.txt","r",stdin); 6 int t;cin>>t; 7 while(t--){ 8 int n;cin>>n; 9 vector<int>p(n,-1); 10 for(int i=0;i<n;i++){ 11 cin>>a[i]; 12 p[a[i]]=i; 13 } 14 int res=1; 15 int mod=1e9+7; 16 int l=min(p[0],p[1]); 17 int r=max(p[0],p[1]); 18 int k=1; 19 for(int i=2;i<n;i++){ 20 if(p[i]>l and p[i]<r){ 21 res=(long long)res*(r-l-k)%mod; 22 } 23 else{ 24 l=min(l,p[i]); 25 r=max(r,p[i]); 26 } 27 k++; 28 } 29 cout<<res<<endl; 30 } 31 return 0; 32 }
标签:Third,19,CF1699C,cin,int,il,1e9,Problem,txt 来源: https://www.cnblogs.com/wangyiming/p/16446789.html