| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:求解各路大神帮忙看下,讨论版的测试数据都过了- -拍点也都过了,但一交就WAIn Reply To:求解各路大神帮忙看下,讨论版的测试数据都过了- -拍点也都过了,但一交就WA Posted by:hzoi at 2014-03-24 06:18:18 > #include <cstdio>
> #include <cstring>
> #include <iostream>
> #define INF 0x7f7f7f7f
> using namespace std;
>
> const int rf = 46340;
>
> int maxans,minans,minx,miny,maxx,maxy;
> int i,j,ll,rr,x = 0,y = 0,z,temp;
> int len,l,r;
> bool v[1010000],flag;
> int su[5000];
>
> void db(){
> memset(v,1,sizeof(v));
> for (i = 2; i <= rf; i++){
> if (v[i]){
> su[++len] = i;
> for (j = i+i; j <= rf; j+=i) v[j] = 0;
> }
> }
> }
>
> int main(){
> db();
> while (~scanf("%d%d",&l,&r)){
> memset(v,1,sizeof(v));
> minans = INF; maxans = -INF;
> x = 0; y = 0;
> if (l == 1) v[0] = 0;
> for (i = 1; i <= len; i++){
> ll = l/su[i]; rr = r/su[i];
> for (j = l/su[i]; j <= r/su[i]; j++)
> if (j > 1 && su[i]*j-l >= 0) v[su[i]*j-l] = 0;
> }
> for (i = l; i < r; i++){
> if (v[i-l]){
> y = i;
> if (x > 0){
> if (y-x > maxans){
> maxans = y-x;
> maxx = x; maxy = y;
> }
> if (y-x < minans){
> minans = y-x;
> minx = x; miny = y;
> }
> }
> x = y;
> }
> }
> if (v[r-l]){
> if (x > 0){
> if (r-x > maxans){
> maxans = r - x;
> maxx = x; maxy = r;
> }
> if (r-x < minans){
> minx = x; miny = r;
> }
> }
> }
> if (maxans > 0)
> printf("%d,%d are closest, %d,%d are most distant\n",minx,miny,maxx,maxy);
> else
> printf("There are no adjacent primes.\n");
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator