title: Codeforces-1077C

date: 2018-11-24 15:22:31

tags:

  • acm
  • 刷题

    categories:
  • Codeforces

题意

题目链接

给你一个数组,如果存在一个数等于剩余的数的和的话,,,就称这样array是good array,,

然后题目问你对于给定的数组去掉一个数之后时候是一个good array,,,输出所有的去掉的数的位置pos

分析

一开始我想这直接暴力去求,,,外循环遍历整个数组枚举可能是去掉的数,,,内循环遍历去掉那个数之后的数列寻找时候存在一个使得剩余数的和等于内循环遍历的那个数,,,

复杂度应该是\(O(n^2)\),,,果不其然的tle了,,,,

然后去看标程题解,,,看不懂QAQ,,,

看了别人的思路后才弄出来,,,

对于这样一个good array,,,数\(a_i = sum - a_i\),,那么\(a_i\)一定是这个数组的最大值,,,

所以先可以对整个数组排序一下,,,然后看最大\(max\)值是否等于\(sum - max\),,,

注意如果要是去掉第一个数,,最大值就为第二大的数了,,,,

代码

#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
typedef long long ll;
struct node
{
ll num;
int pos;
bool operator < (const node &r) const
{
return r.num < num;
}
}node[maxn]; int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n;cin >> n;
ll sum = 0;
for(int i = 0; i < n; ++i)
{
cin >> node[i].num;
node[i].pos = i;
sum += node[i].num;
} sort(node , node + n); vector<int> ans;
for(int i = 0; i < n; ++i)
{
int max = (i == 0) ? node[1].num : node[0].num;
if(sum - node[i].num - max == max)
ans.push_back(node[i].pos);
}
cout << ans.size() << endl;
for(vector<int>::iterator it = ans.begin(); it != ans.end(); ++it)
cout << *it + 1 << " ";
cout << endl;
}

(end)

Codeforces-1077C的更多相关文章

  1. Codeforces 1077C Good Array 坑 C

    Codeforces 1077C Good Array https://vjudge.net/problem/CodeForces-1077C 题目: Let's call an array good ...

  2. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  3. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  4. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  5. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  6. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  7. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  8. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  9. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

  10. CodeForces - 148D Bag of mice

    http://codeforces.com/problemset/problem/148/D 题目大意: 原来袋子里有w只白鼠和b只黑鼠 龙和王妃轮流从袋子里抓老鼠.谁先抓到白色老鼠谁就赢. 王妃每次 ...

随机推荐

  1. Django中Celery http请求异步处理(四)

    Django中Celery http请求异步处理 本章延续celery之前的系列 1.settings配置 2.编写task jib_update_task任务为更新salt jid数据 3.url设 ...

  2. 第六节 事务XML方式[声明方式]

    事务管理: 管理事务,管理数据,数据完整性和一致性 事务[业务逻辑] : 由一系列的动作[查询书价格,更新库存,更新余额],组成一个单元[买书业务], 当我们动作当中有一个错了,全错~ ACID 原子 ...

  3. sssss

    关于征集参加第五届世界互联网大会“世界互联网领先科技成果发布活动”相关成果的通知 2018年07月24日 08:55:00来源: 中国网信网     [打印] [纠错]     各有关单位/个人: 第 ...

  4. AngularJS 启程二

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...

  5. unp的hello word

    最近无聊,再学学unp吧.学学网络编程.下面是一个demo: intro/daytimetcpcli.c #include "unp.h" int main(int argc, c ...

  6. 记录下(同一个计算机)多个容器 dockr bridge(桥接) docker-compose 配置

    直接上 version: '3' services: mysql: container_name: mysql image: mysql:5.7.21 environment: MYSQL_ROOT_ ...

  7. 开放通用Api,总有你喜欢的

    接口文档 目录 通用 更新记录 接口列表 一.福彩-双色球接口 指定期号中奖号码 最新中奖号码信息 获取双色球中奖信息列表 二.节假日及万年历 指定日期的节假日及万年历信息 指定多个日期的节假日及万年 ...

  8. 百度url解析Joe.Smith整理大全

    百度url解析Joe.Smith整理大全 百度url解析Joe.Smith整理大全...1 本文链接:http://blog.csdn.net/qq_26816591/article/details/ ...

  9. 使用@SpringBootApplication注解

    很多Spring Boot开发者总是使用@Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他们的main类. 由于这些注解被如此 ...

  10. FFT(快速傅里叶变换)摘要

    怎么说呢...这次的代码码风有点... 从这篇博客开始,我终于会用LATEX了!撒花 注:以下涉及多项式的n均表示多项式的次数 FFT用途 很简单,多项式相乘. FFT原理 如果暴力乘,复杂度是$O( ...