社区讨论
求助:为什么我会RE#3
学术版参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo1xtqo1
- 此快照首次捕获于
- 2023/10/23 04:45 2 年前
- 此快照最后确认于
- 2023/11/03 05:11 2 年前
代码没有任何问题,测试点下载下来也能输出正确答案,但提交上去就是RE#3:
CPP#include<iostream>
#include<algorithm>
namespace FastIO
{
template<typename T> T read() {T ans=0;bool pd=1;char in=getchar();while(in<'0' || in>'9'){pd=in-'-';in=getchar();}while(in>='0' && in<='9'){ans=ans*10+in-'0';in=getchar();}return pd ? ans : -ans;}
template<typename T> void write(T in) {if(in) write<T>(in/10),putchar(in%10+'0');}
template<typename T> void print(T in,char a) {if(in==0) putchar('0');if(in<0) putchar('-'),in=-in;write<T>(in);putchar(a);}
}
using namespace FastIO;
using namespace std;
struct pc {int x,v;} in[50005];
bool cmp(pc a,pc b)
{return a.x<b.x;}
int main()
{
int n=read<int>(),m=read<int>(),pt=0;
long long ct=0;
if(n==0 || m==0)
{print<int>(ct,'\n');return 0;}
for(register int i=0;i<m;i++)
{in[i].x=read<int>(),in[i].v=read<int>();}
sort(in,in+m,cmp);
while(n>=in[pt].v)
{
n-=in[pt].v;
ct+=in[pt].v*in[pt].x;
pt++;
}
ct+=n*in[pt].x;
print<int>(ct,'\n');
return 0;
}
附:#3测试点:
输入:
2 1
10 2
输出:
20
回复
共 5 条回复,欢迎继续交流。
正在加载回复...