Pagini recente » Cod sursa (job #2640304) | Cod sursa (job #1820429) | Cod sursa (job #701653) | Cod sursa (job #2659915) | Cod sursa (job #2802957)
#include<bits/stdc++.h>
using namespace std;
ifstream F("interclasari.in");
ofstream G("interclasari.out");
const int B=1<<16,I=(1<<30)-1+(1<<30);
char r[B],w[B];
int a,b,c[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,I},k,n,i,j,s;
inline char A()
{
if(++b==B)
b=0,F.read(r,B);
return r[b];
}
inline void D(char c)
{
if(++a==B)
a=0,G.write(w,B);
w[a]=c;
}
inline int E()
{
char c;
int e=0;
for(;!isdigit(c=A()););
do
e=e*10+c-'0';
while(isdigit(c=A()));
return e;
}
inline void H(int u)
{
int i,f;
for(i=1;c[i]<=u;++i);
for(--i;i>=0;--i) {
for(f=0;u>=c[i];++f,u-=c[i]);
D(f+'0');
}
}
struct C
{
public: bool operator()(const int a, const int b) const
{
return a > b;
}
};
priority_queue<int,vector<int>,C> h;
int main()
{
for(b=B-1,a=-1,k=E();i<k;++i)
for(n=E(),s+=n,j=0;j<n;++j)
h.push(E());
for(H(s),D('\n');!h.empty();h.pop())
H(h.top()),D(' ');
G.write(w,a+1);
return 0;
}