链接:http://codeforces.com/problemset/problem/103/A
题意:有n个问题,每个问题有ai种回答,每次只有回答正确才能回答下一个问题。回答 错误的话要重新回到第一个问题,但是可以记住哪些回答是错误的。问最多回答几次才能答完所有问题。
题解:简单递推
#include<iostream> #include<cstring> #include<map> #include<cstdio> #include<stdlib.h> #include<algorithm> using namespace std; long long dp[110]; long long a[110]; int n; int main(){ cin>>n; for(int i = 1; i<=n; i++){ cin>>a[i]; } dp[1] = a[1]; long long sum = 0; sum+=dp[1]; for(int i = 2; i<=n; i++){ dp[i] = (a[i]-1)*(i-1)+a[i]; sum+=dp[i]; } cout<<sum<<endl; return 0; }