• hdu acm3794


    http://acm.hdu.edu.cn/showproblem.php?pid=3794

    晕,这一题我做的很是无语,一道很水的贪心的题目,提交了好多次,起初犯得是很SB的错误,改了,之后的思路我自己认为是完全正确的,然后发现题目的数据要求到十的七次方,十的六次方,要用到__int64,好吧,我改!晕,还是WA,我真的不知道我自己哪里错了,今天睡午觉的时候,脑海里有那一题的影子,忽然醒悟,哇,t值没有被初始化,汗,该死的错误!晚上回来后就做这道题,我改,改了,还是WA,无语啦,好想求救,网上搜了一下,发现大家都是用的__int64即输入的那些值也是这种类型的,其他的思路是一样的,那么我改改试一试吧,A了,真想死啊,好折磨人的一道题啊,被这道水题这么折磨,只能说明自己能力不到,~~~~(>_<)~~~~ 要加油啊,Shirlies!

    #include "stdio.h"
    #include "stdlib.h"

    __int64 cp[1000005];//输入的数据得用__int64啊,可是sum+=cp[i]*value[j]不是可以自动转换成sum,__int64型的吗?以后得注意这个问题啊
    __int64 value[1000005];

    int cmp(const void *a,const void *b)
    {
     return *(__int64 *)b-*(__int64 *)a;
    }

    int main()
    {
     int n,m;
     __int64 sum;
     int i,j,t;

     while(scanf("%d",&n)&&n>=0)
     {
      for(i=1;i<=n;i++)
      {
       scanf("%I64d",&cp[i]);
      }

      scanf("%d",&m);

      for(i=1;i<=m;i++)
      {
       scanf("%I64d",&value[i]);
      }

      qsort(cp+1,n,sizeof(__int64),cmp);//O(∩_∩)O哈哈~这次用qsort()竟然用正确了,不过这种用法是最简单的,我之后还加了一输出测试了一下看我写的是不是正确的,哈,排序结果是正确的……(提交时删了那测试)
      qsort(value+1,m,sizeof(__int64),cmp);

      t=1;//该死的t啊,为什么我昨天没有耐心检查呢,我查错的能力有待提高啊。关键是第一个for语句不循环时t值是未知的,所以必须得初始化。
      sum=0;

      for(i=1,j=1;i<=n&&j<=m;)
      {
       if(cp[i]>=0&&value[j]>=0)
       {
        sum+=cp[i]*value[j];
        i++;
        j++;
        t=i;
       }
       else
        break;
      }

      for(i=n,j=m;i>=t&&j>=t;)
      {
       if(cp[i]<0&&value[j]<0)
       {
        sum+=cp[i]*value[j];
        i--;
        j--;
       }
       else
        break;
      }

      printf("%I64d\n",sum);
     }
     return 0;
    }

    自己纠错的能力有问题,还有就是自己找错的耐心不到啊

  • 相关阅读:
    Spring Security OAuth2 源码分析
    Spring Security OAuth2 token权限隔离
    Spring Cloud Feign 使用OAuth2
    Spring Security OAuth2 授权码模式
    全链路追踪spring-cloud-sleuth-zipkin
    Spring Security OAuth2 授权失败(401) 问题整理
    使用ShardingJdbc分表
    Kubectl常用命令
    Spring Cloud Zuul实现IP访问控制
    一次非核心接口(信息提示类)被刷引发的思考
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2285392.html
Copyright © 2020-2023  润新知