博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1305 Pairwise Sum and Divide
阅读量:6812 次
发布时间:2019-06-26

本文共 1165 字,大约阅读时间需要 3 分钟。

题目来源:
基准时间限制:1 秒 空间限制:131072 KB 分值: 5
有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:
 
fun(A)
    sum = 0
    for i = 1 to A.length
        for j = i+1 to A.length
            sum = sum + Floor((A[i]+A[j])/(A[i]*A[j])) 
    return sum
 
给出数组A,由你来计算fun(A)的结果。例如:A = {1, 4, 1},fun(A) = [5/4] + [2/1] + [5/4] = 1 + 2 + 1 = 4。
Input
第1行:1个数N,表示数组A的长度(1 <= N <= 100000)。第2 - N + 1行:每行1个数A[i](1 <= A[i] <= 10^9)。
Output
输出fun(A)的计算结果。
Input示例
31 4 1
Output示例
4
题目链接:
分析:看大佬的分析,才知道,本人一直超时!不说了,统计1的个数和2的个数,
有多少1就加一个1,有多少个2就是n*(n-1)/2!
下面给出AC代码:
1 #include 
2 using namespace std; 3 int main() 4 { 5 int n; 6 int a[100005]; 7 while(scanf("%d",&n)!=EOF) 8 { 9 for(int i=1;i<=n;i++)10 scanf("%d",&a[i]);11 sort(a+1,a+1+n);12 int c1=0,c2=0,c3=0;13 for(int i=1;i<=n;i++)14 {15 if(a[i]==1)16 c1++;17 else if(a[i]==2)18 c2++;19 else c3++;20 }21 int ans=c1*(c1+c2+c3-1)+c2*(c2-1)/2;22 printf("%d\n",ans);23 }24 return 0;25 }

 

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6434215.html

你可能感兴趣的文章
国产操作系统思普将起诉微软涉嫌“商业诋毁”
查看>>
《Android游戏编程入门经典》——4.6节问与答
查看>>
TouchVG 支持 CocoaPods 了!
查看>>
如何在 Ubuntu 16.10 的 Unity 8 上运行老式 Xorg 程序
查看>>
《Python机器学习——预测分析核心算法》——2.3 对“岩石vs.水雷”数据集属性的可视化展示...
查看>>
机器学习初学者入门实践:怎样轻松创造高精度分类网络
查看>>
Ruby Tip:定义索引操作符
查看>>
优云automation实践技巧:简单4步完成自动化构建与发布
查看>>
【Android 】【Monkey Demons】 针对性的进行稳定性测试
查看>>
基于MongoDB与NodeJS构建物联网系统
查看>>
从云效1.0到2.0的升级,看技术如何驱动企业提效
查看>>
Struts2升级版本至2.5.10,高危漏洞又来了
查看>>
OpenCV 使用 FLANN 库实现特征匹配
查看>>
SOA webservice
查看>>
用Dart搭建HTTP服务器(2)
查看>>
memcache集群服务:memagent配置使用
查看>>
备课好帮手,免费分享 下载
查看>>
mysql批量插入数据脚本
查看>>
MySQL索引类型总结和使用技巧以及注意事项(转)
查看>>
怎么把文件传到虚拟机里
查看>>