Pagini recente » Istoria paginii runda/luni_ora_10 | Cod sursa (job #654001) | Istoria paginii utilizator/burlacuradu | Istoria paginii runda/ghdhgdsashgsthdr/clasament | Cod sursa (job #2436853)
#include<fstream>
#include<algorithm>
using namespace std;
int v[1000];
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int main ()
{
int n,x,y,pos,msk,a,s=0;
in>>n;
for(int i=1; i<=n; i++){
in>>v[i];
}
sort(v+1,v+n+1);
x=v[n];
y=v[n-1];
while(y>=1)
{
a=x-y;
pos=0;
for(msk=1<<20;msk>0;msk/=2)
if(pos+msk<=n && v[pos+msk]<=a)
pos+=msk;
if(pos!=0)
{s+=y-pos;}
x--;
y--;
}
out<<s;
return 0;
}