题意:这是一个题意很拗口的一道题,就是给你k个数,m<n然后需要判断自n开始到k结束的每个数,如果含它及以前的m个数的平均值即为pm,前n个数平均值即为pn,如果pm>pn且上一个点不是pm>pn或者是第一个点,就输出BUY ON DAY ?,另一种情况也一样处理。

View Code
 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int main()
 6 {
 7     int k,n,m;
 8     double pn,pm,a[10005],sum[10005];
 9     while(scanf("%d%d%d",&m,&n,&k)!=EOF)
10     {
11         sum[0]=0;
12         int flag=-1;
13         for(int i=1;i<=k;i++)
14             scanf("%lf",&a[i]),sum[i]=sum[i-1]+a[i];
15         for(int i=n;i<=k;i++)
16         {
17             pn=(sum[i]-sum[i-n])/n;
18             pm=(sum[i]-sum[i-m])/m;
19             if(pm>pn&&flag!=1)
20             {
21                 flag=1;
22                 printf("BUY ON DAY %d\n",i);
23             }
24             else if(pm<pn&&flag!=0)
25             {
26                 flag=0;
27                 printf("SELL ON DAY %d\n",i);
28             }
29         }
30     }
31     return 0;
32 }

相关文章:

  • 2022-12-23
  • 2022-02-11
  • 2022-01-30
  • 2021-05-26
  • 2022-12-23
  • 2022-01-19
  • 2021-11-19
  • 2022-12-23
猜你喜欢
  • 2021-07-09
  • 2022-12-23
  • 2022-01-27
  • 2021-08-11
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案