Pagini recente »
Istoria paginii runda/2018-06-07-clasa-5-tema-43
|
2024-02-16-clasa-5-tema-25
|
Istoria paginii runda/2024-09-11-clasa-7-tema-01
|
Rating Apostol Rares (ApostolRares)
|
Cod sursă (job #427621)
Cod sursă (job
#427621)
#include <fstream>
#define NM 5000006
using namespace std;
ifstream f("lalele.in");
ofstream g("lalele.out");
int n,s,i,m,d,x,s1;
int a[NM];
void quicksort(int s,int d){
int p=a[(s+d)/2];
int i=s;
int j=d;
int aux;
while(i<=j){
while(a[i]<p) i++;
while(a[j]>p) j--;
if(i<=j) { aux=a[i]; a[i]=a[j]; a[j]=aux;i++;j--; }
}
if(s<j) quicksort(s,j);
if(i<d) quicksort(i,d);
}
int main()
{
f>>n; s=0;
while(s<n){
f>>d>>x; s+=d;
if(x!=0){
for(i=1;i<=a[0];i++) a[i]+=d;
for(i=1;i<=d;i++) a[++a[0]]=x+d-i+1;
} else{
m=a[0];
quicksort(1,a[0]);
for(i=1;i<=d;i++){
m=a[0]/2; g<<a[m+1]+i-1<<'\n';
m+=(a[0]%2);
a[0]-=m;
}
for(i=1;i<=a[0];i++) a[i]+=d;
}
}
return 0;
}