您的位置:首页 > 运维架构

CodeForces 131B Opposites Attract

2016-07-19 15:31 351 查看
两重for循环妥妥超时

#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<iomanip>
#include<stdlib.h>
#include<ctype.h>
#include<algorithm>
#include<deque>
#include<functional>
#include<iterator>
#include<vector>
#include<list>
#include<map>
#include<queue>
#include<set>
#include<stack>
#define CPY(A, B) memcpy(A, B, sizeof(A))
typedef long long LL;
typedef unsigned long long uLL;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const double EPS = 1e-9;
const double OO = 1e20;
const double PI = acos (-1.0);
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
using namespace std;
const int maxn=1250;
int a[15],b[15],z=0;
int main() {
int n,t;
scanf ("%d",&n);
for (int i=0; i<n; ++i) {
scanf ("%d",&t);
if (t>0) {++a[t];}
else if (t<0) {++b[-t];}
else { ++z; }//统计0的个数
}//two for loop will TLE
uLL cnt=0;
for (int i=0; i<11; ++i) {cnt+= (uLL) a[i]*b[i];}//匹配正负
cnt+= (uLL) z* (z-1) /2;//0 and other 0
cout<<cnt<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: