4.2w+
社区成员
#include <iostream>
using namespace std;
bool check(int x)
{
for(int j = 2; j * j <= x; j ++)
{
if(x % j == 0)
return false;
}
return true;
}
int main()
{
int num = 0;
for(int i = 2; ; i ++)
{
if(check(i))
num ++;
if(num == 100002)
{
cout << i << endl;
break;
}
}
return 0;
}
#include <iostream>
using namespace std;
int book[15],sum=0;
bool tag[11];
void dfs(int step){
if(step>=3&&abs(book[step-1]-book[step-2])<=1) return;
if(step==11) {
sum++;
return;
}
for(int i=1;i<=10;i++){
if(tag[i]==false){
book[step]=i;
tag[i]=true;
dfs(step+1);
tag[i]=false;
}
}
}
int main()
{
dfs(1);
cout<<sum;
return 0;
}
#include<cstdio>
#include<algorithm>
using namespace std;
int n,d,k;
int nowlike[100005];
struct node{
int ts;
int id;
};
node arr[100005];
bool ishot[100005];
bool cmp(node x,node y)
{
return x.ts<y.ts;
}
int main()
{
scanf("%d%d%d",&n,&d,&k);
for(int i=1;i<=n;i++)
scanf("%d%d",&arr[i].ts,&arr[i].id);
sort(arr+1,arr+1+n,cmp);
int l = 1;
for(int i=1;i<=n;i++)
{
nowlike[arr[i].id]++;
while(arr[i].ts >= arr[l].ts + d) nowlike[arr[l++].id]--;
if(nowlike[arr[i].id]>=k) ishot[arr[i].id] = true;
}
for(int i=0;i<=100005;i++)
if(ishot[i])
printf("%d\n",i);
return 0;
}
#include <iostream>
using namespace std;
typedef long long LL;
LL n;
LL C(int x,int k){
LL ans=1;
for(int i=x,j=1;j<=k;i--,j++){
ans=ans*i/j;
if(ans>n)return ans;
}
return ans;
}
bool check(int x){
LL l=2*x,r=max(n,l);
while(l<r){
int mid=l+r>>1;
if(C(mid,x)>=n)r=mid;
else l=mid+1;
}
if(C(r,x)!=n)return false;
cout<<(LL)(r+1)*r/2+x+1<<endl;
return true;
}
int main(){
cin>>n;
for(int t=17;;t--){
if(check(t))break;
}
return 0;
}