求调,wa7个点
查看原帖
求调,wa7个点
1122530
elpsconr楼主2024/8/10 10:59

wa了七个点,不知道问题在哪里,求调

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define PII pair<int,int>
#define tul tuple<int,int,int>
#define cy cout<<"Yes"<<endl
#define cn cout<<"No"<<endl
#define lc rt<<1
#define rc rt<<1|1
const int N=3e5+6,yyx=998244353;
int n,m,dp[N],a[N],st[N],c[100][100];
vector<PII> to[N];
void init(){
    c[0][0]=1;
    for(int i=1;i<=90;++i){
        c[i][0]=1;
        for(int j=1;j<=90;++j){
            c[i][j]=c[i-1][j-1]+c[i-1][j];
        }
    }
}
inline void solve(){
    cin>>n;
    map<int,int> v;
    for(int i=1;i<=n;++i) cin>>a[i];
    dp[1]=n;dp[2]=c[n][2];
    for(int i=1;i<=n;++i){
        for(int j=i+1;j<=n;++j){
           int d=a[j]-a[i];
           map<int,int> mp;mp[1]=1;
           for(int x=j+1;x<=n;++x){
              for(int k=2;k<=n;++k){
                if(a[x]==a[i]+k*d&&mp[k-1]) dp[k+1]++,mp[k]=mp[k-1];//cout<<k<<" "<<a[x]<<" "<<a[i]<<endl; 
              }
           }
        }
    }
    for(int i=1;i<=n;++i) cout<<dp[i]<<" \n"[i==n];
}
signed main(){
    cin.tie(0)->sync_with_stdio(0);
    init();
    int _=1;
   //cin>>_;
    while(_--)
    solve();
    return 0;
}
2024/8/10 10:59
加载中...