Cod sursa(job #21183)

Utilizator SentryBogdan Sentry Data 22 februarie 2007 22:56:34
Problema Reguli Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

ifstream in("reguli.in");
ofstream out("reguli.out");

long int n, K1[500000], K2[500000], x[500000];

void Citire()
{
     in >> n;

     for( int i=0; i<n; i++ ) in >> x[i];
}

void Solve()
{
     long int a, nr=0, Sol[500000];
     int i;

     for( i=1; i<n; i++ )
     {
	  a = x[i] - x[i-1];
	  if( a >= 0 )
	  {
	      if( !K1[a] )
	      {
		  nr++;
		  Sol[nr] = a;
		  K1[a]++;
	      }
	  }
	  else if( a < 0 )
	  {
	       if( !K2[-a] )
	       {
		   nr++;
		   Sol[nr] = a;
		   K2[-a]++;
	       }
	  }
     }
     out << nr << endl;

     for( i=1; i<=nr; i++ ) out << Sol[i] << endl;
}


int main()
{
      Citire();
      Solve();
      return 0;
}