题解【P6284】[COCI2016-2017#1] Tarifa

· · 题解

个人感觉题目中流量的概念比较抽象,可以将其理解为工资:Pero每月的工资是x元,每月都要花费p_i元。如果一个月的前花不完,会放进保险柜中。问前n个月他有多少钱?

思路:

读入xn,再输入p_i。定义一个变量ans,来模拟上文中所说的“保险柜”。存入保险柜的钱便是这个月的工资减去花费的钱(也有可能透支,见下面的代码)。最后再加上第n+1月拿到的工资,输出即可。

代码:

#include<bits/stdc++.h>
using  namespace std;
int main(){
    int x,n;
    cin>>x>>n;
    int a[n+10];
    int ans=0; //上文中的保险箱 
    for(int i=0;i<n;i++){
        cin>>a[i];
        ans+=x-a[i]; //将钱放入保险箱内。如果透支了就往里面拿钱补贴。 
    }
    cout<<ans+x; //还有第n+1个月的工资 
    return 0;   
}