codeforces1077C Good Array(Codeforces Round #521 (Div. 3))
阿新 • • 發佈:2018-11-19
傳送門:http://codeforces.com/contest/1077/problem/C
吐槽:忘記特判2的情況被hack了,肥宅大哭.jpg
程式碼:
#include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<string> #include<iostream> #include<map> #include<vector> #include<set> #include<queue> using namespace std; typedef long long ll; const ll maxv=2e5+5; struct node { ll a,id; }q[maxv]; bool cmp(node a,node b) { return a.a>b.a; } vector<ll>ans; int main() { ll n; scanf("%lld",&n); ll sum=0; for(ll i=0;i<n;i++) { scanf("%lld",&q[i].a); sum+=q[i].a; q[i].id=i; } if(n==2) { printf("0\n"); return 0; } ll flag=0; sort(q,q+n,cmp); ll maxx=q[0].a; ll maxx2=q[1].a; sum-=maxx; for(ll i=1;i<n;i++) { if(sum-q[i].a==maxx) { ans.push_back(q[i].id); flag=1; } } if(sum-maxx2==maxx2) { flag=1; ans.push_back(q[0].id); } printf("%d\n",ans.size()); for(ll i=0;i<ans.size();i++) { printf("%lld",ans[i]+1); if(i!=ans.size()-1) { printf(" "); } } puts(""); return 0; }