Cod sursa(job #2523714)

Utilizator valentinchipuc123Valentin Chipuc valentinchipuc123 Data 14 ianuarie 2020 17:51:13
Problema Semne Scor 35
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;

ifstream f("semne.in");
ofstream g("semne.out");
long long int n,s,suma=0;
char semne[50005];
struct Point
{
  int x,y;
};
Point v[50005];
bool cmpx(Point a,Point b)
{
    if(a.x==b.x)
        return a.y<b.y;
    return a.x<b.x;
}
int main()
{
f>>n>>s;
for(int i=1;i<=n;i++)
 {
  v[i].y=i;
  f>>v[i].x;
  suma+=v[i].x;
 }
sort(v+1,v+n+1,cmpx);
for(int i=n;i>=1;i--)
 {
  if(suma-2*v[i].x>=s) {suma-=2*v[i].x; semne[v[i].y]='-';}
  else semne[v[i].y]='+';
 }
for(int i=1;i<=n;i++)
 g<<semne[i];
}