CCF CSP 20221201

CCF CSP 20211201

序列查询

题目见官网。

第一次写的代码

按照题目一步步来的,结果就是超时了。50分。

#include
using namespace std;
int main()
{int n,N;cin>>n>>N;int A[n];A[0]=0;int i;for(i=1;i<=n;i++){cin>>A[i];}int x,sum=0;for(x=0;x<=N-1;x++){for(i=0;i

第二次写的代码

令A【n+1】=N,两种f(x)情况可以合并。并且sum(A)的计算方法也可以简化。(A[i-1]-A[i])*i就是(A[i-1]-A[i])个相同的f(x)=i的结果。100分。

#include
using namespace std;
int main()
{int n,N;cin>>n>>N;int A[n+1];A[0]=0;A[n+1]=N;int i;for(i=1;i<=n;i++){cin>>A[i];}int sum=0;for(i=1;i<=n;i++){sum=sum+(A[i+1]-A[i])*i;   } cout<


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章