zoukankan      html  css  js  c++  java
  • 9月22日 奇怪的贸易

    题目

    题目描述

            刚结束了CS战斗的小D又进入了EVE的游戏世界,在游戏中小D是一名商人,每天要做的事情就是在这里买东西,再运到那里去卖.这次小D来到了陌生的X星,X星上有n种货物,小D决定每种都买走一些,他用ai来表示第i种货物购买的数量,X星人对物品的单价有特别的决定方式.他们首先会选择一个基本价x,第一种物品单价为x,第二种物品单价为x2,第三种物品单价为x3……第i种物品单价为xi.结算总价时,你还需要给他们一笔手续费a0,小D不知道自己带的钱是否能够进行这笔交易,所以请你帮助他计算这笔交易他要支付的总金额是多少.
     

    输入

    x n
    a0
    a1
    a2
    .
    .
    .
    an
    第一行两个数分别表示基准价x (x<=10),物品种数n (n<=100000)
    第二行一个数,手续费a0 (a0<=100)
    接下来的n行每行一个数,第i行表示第i种物品购买的数量(ai<=100)

    输出

    输出结果的最后100位,若不足100位请高位用零补足

    输入样例复制

    2 3
    4
    3
    2
    1

    输出样例复制

    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026

    说明

    对20%的数据,n<=10 对50%的数据,n<=200 对100%的数据,n<=100000
    分析
        高精。。。
     
     
    代码
     
    #include<iostream>
    using namespace std;
    int a[100001];
    int sum[201],c[201];
    int main ()
    {
        int x,n;
        cin>>x>>n;
        for (int i=0;i<=n;i++)
           cin>>a[i];
        int t;
        c[100]=x;
        sum[100]=a[0];
        for (int i=1;i<=n;i++)
        {
            t=0;
            for (int j=100;j>=1;j--)
            {
                sum[j]=sum[j]+c[j]*a[i]+t;
                t=sum[j]/10;
                sum[j]%=10;
            }
            t=0;
            for (int j=100;j>=1;j--)
            {
                c[j]=c[j]*x+t;
                t=c[j]/10;
                c[j]%=10;
            }
        }
        for (int i=1;i<=100;i++)
          cout<<sum[i];
    }
    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    圆形按钮窗口控制-不断减少的圆圈
    图像按钮和模拟Windows媒体播放器UI
    圆形按钮
    本机Win32主题感知所有者绘制控件没有MFC
    CRegionButton -一个多向按钮
    Iconits
    CxShadeButton
    管道符 |
    gedit
    more/less
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/9692391.html
Copyright © 2011-2022 走看看