#include <cstdio>
#include <iostream>
#include <cstring>
#include <set>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
int a[100005];
int main(){
	int n;
	cin >> n;
	  
	for(int i = 0;i < n;i++){
		scanf("%d",&a[i]);	
	} 
	
	sort(a,a+n);
	int cc = 0;
	long long int ans = 0;
	long long int tm = 1; 
	for(int i = n-1;i >= 1;i --){
		if(a[i] -a[i-1] <= 1){
			tm *= a[i-1];
			i--;
			cc++;
		}
		if(cc==2){
			ans += tm; 
			cc = 0;
			tm = 1;
			
		}
	}
	cout << ans << endl;
	
	return 0;
}
codeforces 525C Ilya and Sticks
原文:http://blog.csdn.net/qq_24667639/article/details/46240267