| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38614 | daimo | 【J】T2 | C++ | 通过 | 100 | 108 MS | 24740 KB | 1206 | 2025-10-18 13:38:19 |
#include<bits/stdc++.h> #define int long long #define __ __int128 using namespace std; void testread(){ freopen("min.in","r",stdin); freopen("min.out","w",stdout); } short check[10000010]; int num[10000010]; signed main(){ //testread(); ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int _; //cin>>_; _=1; while(_--){ int n; cin>>n; int siz=0; for(int i=2;i<=n;i++){ if(!check[i]){ siz++; num[siz]=i; for(int j=2;j*i<=n;j++)check[i*j]=1; } } siz++; num[siz]=3355033633550336; int x=1,ans=1; for(int i=2;i<=n;i++){ if(i==num[x]){if(i==3){ans++;}x++;continue;} else{ if(abs(i-num[x-1])<abs(i-num[x])){ ans+=abs(i-num[x-1]); }else if(abs(i-1-num[x-1])<abs(i-1-num[x])&&!(abs(i-num[x-1])<abs(i-num[x]))){ ans+=abs(i-num[x-1])+abs(i-num[x]); }else{ ans+=abs(i-num[x]); } } } cout<<ans<<endl; } return 0; }