Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
1824 | 18级张钰晨 | 【S】T3 分块 | C++ | 运行超时 | 30 | 2000 MS | 4156 KB | 630 | 2020-11-16 10:39:04 |
#include<bits/stdc++.h> using namespace std; inline int read(){ int x=0,f=1,ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-48;ch=getchar();} return x*f; } const int maxn=1e6+5; int n,m,ans[maxn]; int qry(int l,int r,int B){ l--;r--; int bl=l/B+1,br=r/B+1; if(bl==br)return r-l+1; int res=br-bl-1; res+=(B-(l%B))+(r%B+1); return res; } int main(){ n=read();m=read(); for(int i=1,l,r;i<=m;i++){ l=read();r=read(); for(int j=1;j<=n;j++)ans[j]+=qry(l,r,j); } for(int i=1;i<=n;i++)printf("%d ",ans[i]);printf("\n"); return 0; }