Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
39617 氩_wjy 【S】T1 C++ 解答错误 70 1060 MS 60148 KB 949 2026-01-17 13:50:48

Tests(7/10):


#include<bits/stdc++.h> #define ll long long #define ui unsigned int using namespace std; const int N=25; int n,m,k,a[N]; int Ans; map<int,int> mp[N]; inline void DFS1(int S,int x,int i){ // cout<<S<<" "<<x<<" "<<i<<endl; if(x>m||S>k)return; if(i==n/2+1){ mp[x][S]++; return; } DFS1(S,x,i+1); DFS1(S+a[i],x,i+1); DFS1(S+a[i]*a[i]+1,x+1,i+1); } inline void DFS2(int S,int x,int i){ if(x>m||S>k)return; if(i==n+1){ for(int j=0;j<=m-x;j++)Ans+=mp[j][k-S]; return; } DFS2(S,x,i+1); DFS2(S+a[i],x,i+1); DFS2(S+a[i]*a[i]+1,x+1,i+1); } signed main(){ #ifndef ONLINE_JUDGE freopen("magic.in","r",stdin); freopen("magic.out","w",stdout); #endif cin>>n>>m>>k; m/=20; // cout<<n<<" "<<m<<" "<<k<<endl; for(int i=1;i<=n;i++)cin>>a[i]; DFS1(0,0,1);DFS2(0,0,n/2+1); cout<<Ans<<endl; return 0; }


测评信息: