zoukankan      html  css  js  c++  java
  • K的倍数

     1 #include<iostream>
     2 #include<fstream>
     3 #include<ctime>
     4 using namespace std;
     5 int main()
     6 {
     7     clock_t start= clock();
     8     ifstream in("makedata.txt");    
     9     int i,j;
    10     int n; in>>n;
    11     __int64 *sum=new __int64[n+1];
    12     sum[0]=0;
    13     for(i=1;i<=n;i++)
    14     {
    15         int temp; in>>temp;
    16         sum[i]=sum[i-1]+temp;
    17     }
    18     int k; in>>k;
    19     int len=0;
    20     for(i=0;i<n;i++)
    21     {
    22         for(j=n;j>i+len;j--)
    23             if((sum[j]-sum[i])%k==0)
    24             {
    25                 if((j-i)>len)
    26                     len=j-i;
    27                 break;
    28             }
    29         if(len>=(n-i-1))
    30             break;
    31     }
    32     cout<<len<<endl;
    33     clock_t end=clock();
    34     cout<<"Running Time: "<<(double)(end-start)/CLOCKS_PER_SEC<<endl;
    35     return 0;
    36 }

    注释版:

     1 #include<iostream>
     2 #include<fstream>
     3 #include<ctime>
     4 using namespace std;
     5 int main()
     6 {
     7     //测试运行时间:开始计时
     8     //clock_t start= clock();
     9     ifstream in("makedata.txt");    
    10     int i,j;
    11     //数据数目
    12     int n; in>>n;
    13     //长整型的定义与输出与平台有关,不同平台重新修改定义即可
    14     __int64 *sum=new __int64[n+1];
    15     //为便于处理,设置一个sum[0]
    16     sum[0]=0;
    17     //sum[i]为第1个到第i个数据的累加和
    18     for(i=1;i<=n;i++)
    19     {
    20         int temp; in>>temp;
    21         sum[i]=sum[i-1]+temp;
    22     }
    23     int k; in>>k;
    24     int len=0;
    25     for(i=0;i<n;i++)
    26     {
    27         for(j=n;j>i+len;j--)
    28             if((sum[j]-sum[i])%k==0)
    29             {
    30                 if((j-i)>len)
    31                     len=j-i;//更新最大子串长度
    32                 break;
    33             }
    34         if(len>=(n-i-1))
    35             break;
    36     }
    37     cout<<len<<endl;
    38     //测试运行时间:结束计时
    39     //clock_t end=clock();
    40     //输出运行时间
    41     //cout<<"Running Time: "<<(double)(end-start)/CLOCKS_PER_SEC<<endl;
    42     return 0;
    43 }
  • 相关阅读:
    userAgent判断当前设备类型
    h5+css3最简单的图片飞入以及淡入淡出效果
    ruby的form中常用的控件
    初识swipe.js
    后缀为7z的文件解码
    python all()函数
    flask web表单
    flask过滤器
    flask学习笔记1.21
    py学习笔记1.13、1.14
  • 原文地址:https://www.cnblogs.com/zhaopeng938/p/7535640.html
Copyright © 2011-2022 走看看