社区讨论
求助!10分,哪错了?
P2338[USACO14JAN] Bessie Slows Down S参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo8ny266
- 此快照首次捕获于
- 2023/10/27 21:42 2 年前
- 此快照最后确认于
- 2023/10/27 21:42 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int n, s1, s2, s = 1, t = 1, a[10005], b[10005], x;
double st, sd;
char c;
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> c;
if(c == 'T')
{
cin >> x;
s1++;
a[s1] = x;
}
else
{
cin >> x;
s2++;
b[s2] = x;
}
}
s2++;
b[s2] = 1000;
sort(a + 1, a + s1 + 1);
sort(b + 1, b + s2 + 1);
int la = 0;
for(int i = 1; i <= s2 - 1; i++)
{
sd = b[i];
st += (sd - la) / t;
t++;
while(sd < b[i + 1] && s <= s1 && st + (b[i + 1] - sd) * t > a[s])
{
sd += (a[s] - st) / t;
t++;
st = a[s];
s++;
}
st += (b[i + 1] - sd) * t;
la = sd;
}
cout << int(round(st));
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...