Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define N 1005
- using namespace std;
- ifstream fin("bomboane.in");
- ofstream fout("bomboane.out");
- int v[N],n;
- void Minim(int &Min, int &poz)
- {
- int p=0, m=N;
- for(int i=1;i<=n;i++)
- if(v[i]<m)
- {
- m=v[i];p=i;
- }
- Min=m;
- poz=p;
- }
- void Maxim(int &Max, int &poz)
- {
- int p=0, m=-N;
- for(int i=1;i<=n;i++)
- if(v[i]>m)
- {
- m=v[i];p=i;
- }
- Max=m;
- poz=p;
- }
- int a[N], b[N], c[N],k,i;
- int main()
- {
- fin>>n;
- int B=0;
- for(i=1;i<=n;i++)
- {
- fin>>v[i];
- B+=v[i];
- }
- if(B%n!=0){fout<<-1; return 0;}
- B/=n;
- int Max, Min, pMax, pMin;
- while(1)
- {
- Minim(Min,pMin);
- Maxim(Max,pMax);
- if(Max==Min) break;
- v[pMin]=B;
- v[pMax]=Max-B+Min;
- a[++k]=pMax;b[k]=pMin; c[k]=B-Min;
- }
- fout<<k<<'\n';
- for(int i=1;i<=k;i++)
- fout<<a[i]<<' '<<b[i]<<' '<<c[i]<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement