Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
38816 23级徐泽厚 【S】T2 C++ 运行超时 15 1000 MS 3764 KB 852 2025-10-29 16:22:00

Tests(3/20):


#include <bits/stdc++.h> #define int long long using namespace std; const int MOD=1e9+7; int n,m; int x[50005]; int pm[300005]; int ans[50005]; int bs(int P[], int L, int R, int x) { if(L>R) return 0; int MID = (L + R) / 2; if(P[MID] == x || L == R) return P[MID]; if(P[MID] > x) return P[MID] + bs(P, L, MID - 1, x); if(P[MID] < x) return P[MID] + bs(P, MID + 1, R, x); } signed main(){ scanf("%lld%lld",&n,&m); for (int i=1;i<=m;i++){ scanf("%lld",&x[i]); } for (int i=1;i<=n;i++){ pm[i]=i; } do{ for (int i=1;i<=m;i++){ ans[i]=(ans[i]+bs(pm,1,n,x[i]))%MOD; } }while (next_permutation(pm+1,pm+n+1)); for (int i=1;i<=m;i++){ printf("%lld\n",ans[i]); } return 0; }


测评信息: