A. Caisa and Sugar
这题简直坑,题目中没描述清楚究竟是买一个,还是买一种。坑到最后还是没弄出来,我一直以为是一种可以买多个。
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <iomanip>
typedef long long ll;
using namespace std;
int n, s;
int main()
{
cin>>n>>s;
int yy = s*100, x, y;
int res = -1;
for(int i = 0;i < n; i++)
{
cin>>x>>y;
int tmp = x*100+y;
if(tmp > yy) continue;
res = max(res, (yy-tmp)%100);
}
cout<<res<<endl;
return 0;
}
B. Caisa and Pylons
每当走到下一根柱子时,能量值要变为负值就最终结果就加上该负值的绝对值。不够就加,顶合理的!
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <iostream>
using namespace std;
const int MAXN = 1e5+5;
int a[MAXN];
int main()
{
long long res = 0;
int n;
cin>>n;
for(int i = 1;i <= n; i++)
cin>>a[i];
res += a[1];
int cv = 0;
for(int i = 1;i <= n-1; i++)
{
int tmp = cv + a[i]-a[i+1];
if(tmp < 0)
res += -tmp, cv = 0;
else
cv += a[i]-a[i+1];
}
cout<<res<<endl;
return 0;
}