基因变异(codevs 3194)

时间:2023-03-08 20:37:52
题目描述 Description

小毛终于来到了冥王星,这是一颗已经不属于行星的矮行星,它的表面温度低于-220度。在这里,小毛惊奇的发现,他带来的厌氧菌开始了基因变异,裂变的速度与光照时间(秒)成乘积关系,公式如下:细菌个数=原个数*时间(秒),而如果关闭照明,则细菌停止繁殖裂变。现在已知n个细菌,经过m段光照时间后,一共有多少个细菌呢?

输入描述 Input Description

第一行为两个整数N,M(均小于1000),第2行为m个时间段的时间(均小于10000)。

输出描述 Output Description

仅一个正整数,表示最后的细菌个数。

样例输入 Sample Input

4 3

100 20 3

样例输出 Sample Output

24000

/*
一个高精度,难为了自己很长时间,最后用的题解的输出格式,不大明白
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#define M 100010
using namespace std;
long long a[M];
int main()
{
int m,n;
scanf("%d%d",&n,&m);
a[]=n;
for(int T=;T<=m;T++)
{
int x;
scanf("%d",&x);
for(int i=;i<=;i++)
a[i]=a[i]*x;
for(int i=;i<=;i++)
{
if(a[i]>=)
{
a[i+]+=a[i]/;
a[i]%=;
}
}
}
int len;
for(int i=;i>=;i--)
if(a[i]>)
{
len=i;
break;
}
printf("%d",a[len]);
for(int i=len-;i>=;i--)
printf("%08d",a[i]);
return ;
}