文章

10

粉丝

55

获赞

3

访问

2.9k

头像
刷出一道墙 题解:cout<<f[i]<<endl超时问题
P1209
发布于2024年3月15日 12:53
阅读数 270

#include <bits/stdc++.h>
using namespace std;

const int maxn =2e5+10;
int f[maxn];
int main(){
    int a,b;
    while(cin>>a>>b){
        if(a==0&&b==0) break;
        f[a]++; f[b+1]--;
    }
    for(int i=1;i<200000;i++) f[i]+=f[i-1];
    while(cin>>a>>b){
        if(a==0&&b==0) break;
        for(int i=a;i<=b;i++) cout<<f[i]<<'\n';
/*
printf("%d\n",f[i]) 换成 cout<<f[i]<<endl 就会超时
在C++中,printf 和 cout 有不同的输出效率。
printf 是C语言的标准库函数,而 cout 是C++的标准输出流对象。在很多情况下,printf 的输出速度会比 cout 更快,
endl会刷新输出缓冲区
如果想保持输出效率,可以尝试使用 cout 输出换行符 \n 而不是 endl,例如:cout << f[i] << '\n';
*/
    }
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发