您的位置:首页 > Web前端

[Bestcoder] Valentine's Day Round 1001 - Ferries Wheel | HDU 5174

2015-02-14 21:32 459 查看
本题比赛时被hack的人好多 - -。

注意坑点:

3

2147483645 2147483646 2147483644

Answer : 1

#include <stdio.h>
#include <string.h>
#include <map>
#include <algorithm>
#define INT_MAX 2147483647
using namespace std;
int main()
{
int n, k = 1;
long long ans;
long long a[1000];
while(~scanf("%d", &n))
{
ans = 0;
map<int, int> mm;
int cnt = 0, tmp;
for(int i = 0; i < n; i++)
{
scanf("%d", &tmp);
if(!mm[tmp])
{
a[cnt++] = tmp;
}
mm[tmp]++;
}
if(cnt == 1)
{
printf("Case #%d: -1\n", k++);
continue;
}
sort(a, a+cnt);
for(int i = 0 ; i < cnt; i++)
{
if((a[(i - 1 + cnt) % cnt] + a[(i - 2 + cnt) % cnt]) % INT_MAX == a[i])
{
ans += mm[a[(i - 1 + cnt) % cnt]];
}
}
printf("Case #%d: %d\n", k++, ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Bestcoder HDU