제출 #62527

#제출 시각아이디문제언어결과실행 시간메모리
62527MatheusLealVCalvinball championship (CEOI15_teams)C++17
0 / 100
707 ms66560 KiB
#include <bits/stdc++.h>
#define N 10001
using namespace std;
typedef long long ll;

int n, k, v[N], tot, used[N], mod = 1000007;

int dp[N][N];

int solve(int i, int k)
{
	if(i > n) return 1;

	if(dp[i][k] != -1) return dp[i][k];

	ll A = (((ll)solve(i + 1, k) * (ll)k) % mod + solve(i + 1, k + 1) % mod)%mod;

	return dp[i][k] = A;
}

inline ll pos()
{
	set<ll> add;

	ll q;

	memset(dp, -1, sizeof dp);

	for(ll i = 1; i <= n; i++)
	{
		tot = (tot + (ll)solve(i + 1, add.size())*((ll)v[i] - 1LL) )%mod;

		add.insert(v[i]);
	}

	return (tot + 1)%mod;
}

int main()
{
	ios::sync_with_stdio(false); cin.tie(0);

	cin>>n;

	for(int i = 1; i <= n; i++) cin>>v[i];

	cout<<pos()<<"\n";
}

컴파일 시 표준 에러 (stderr) 메시지

teams.cpp: In function 'll pos()':
teams.cpp:25:5: warning: unused variable 'q' [-Wunused-variable]
  ll q;
     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...