Pagini recente » Cod sursa (job #1225862) | Cod sursa (job #366355) | Cod sursa (job #891070) | Cod sursa (job #1900002) | Cod sursa (job #1427986)
#include<stdio.h>
#define N 10000
#define SIGMA 27
int v[N+1];
void update(int poz,int val){
if(poz==17)
poz++,poz--;
while(poz<=SIGMA){
v[poz]+=val;
poz+=(poz&-poz);
}
}
int sum(int poz){
int s=0;
while(poz){
s+=v[poz];
poz&=poz-1;
}
return s;
}
int main(){
FILE *fin,*fout;
fin=fopen("litere.in","r");
fout=fopen("litere.out","w");
int n;
fscanf(fin,"%d ",&n);
int i;
long long inv=0;
for(i=1;i<=n;i++){
char ch=fgetc(fin);
ch=ch-'a'+1;
update(ch,1);
inv+=sum(27)-sum(ch);
}
fprintf(fout,"%lld",inv);
return 0;
}