提出 #23367542


ソースコード 拡げる

#include<bits/stdc++.h>

#define ll long long 

using namespace std;

int read()
{
	int a=0,f=1,c=getchar();
	while(!isdigit(c))
	{
		if(c=='-')f=-1;
		c=getchar();
	}
	while(isdigit(c))
	{
		a=a*10+c-'0';
		c=getchar();
	}
	return a*f;
}

const int N=1e5+10;
const int P=1e9+7;
ll mod(ll x){return (x%P+P)%P;}

int n;
int a[N];
ll f[2][N],g[2][N];

int main()
{
//	freopen("1.in","r",stdin);
	
	n=read();
	for(int i=1;i<=n;++i)a[i]=read();
	
	f[0][1]=1;
	g[0][1]=a[1];
	for(int i=2;i<=n;++i)
	{
		f[0][i]=mod(f[0][i-1]+f[1][i-1]);
		f[1][i]=f[0][i-1];
		g[0][i]=mod(g[0][i-1]+g[1][i-1]+a[i]*f[0][i]);
		g[1][i]=mod(g[0][i-1]-a[i]*f[1][i]);
	}
	printf("%lld\n",mod(g[0][n]+g[1][n]));
	
	return 0;
}

提出情報

提出日時
問題 A - Many Formulae
ユーザ WhereIsDodoco
言語 C++ (GCC 9.2.1)
得点 400
コード長 747 Byte
結果 AC
実行時間 17 ms
メモリ 7244 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 17
セット名 テストケース
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt
ケース名 結果 実行時間 メモリ
00-sample-001.txt AC 8 ms 3692 KiB
00-sample-002.txt AC 2 ms 3480 KiB
00-sample-003.txt AC 2 ms 3692 KiB
01-001.txt AC 2 ms 3632 KiB
01-002.txt AC 2 ms 3536 KiB
01-003.txt AC 2 ms 3692 KiB
01-004.txt AC 8 ms 5712 KiB
01-005.txt AC 6 ms 4924 KiB
01-006.txt AC 7 ms 5056 KiB
01-007.txt AC 6 ms 4584 KiB
01-008.txt AC 14 ms 6184 KiB
01-009.txt AC 17 ms 7036 KiB
01-010.txt AC 14 ms 6976 KiB
01-011.txt AC 15 ms 7184 KiB
01-012.txt AC 13 ms 7244 KiB
01-013.txt AC 17 ms 7088 KiB
01-014.txt AC 13 ms 7184 KiB