Помогите, пожалуйста! На одном из 14 тестов происходит ошибка выполнения программы. В чем может быть проблема? Задача: После затянувшегося совещания директор фирмы решил заказать такси,чтобы развезти сотрудников по домам. Он заказал N машин —ровно столько, сколь у него сотрудников.Однако когда они подъехали, оказалось, что у каждого водителя такси свой тариф за 1 километр.
Директор знает, какому сотруднику сколько километров от работы до дома (к сожалению, все сотрудники живут в разных направлениях, поэтому нельзя отправить двух сотрудников на одной машине). Теперь директор хочет определить, сколько придется заплатить за перевозку всех сотрудников. Естественно, директор хочет заплатить как можно меньшую сумму. Вот ссылка на условие http://informatics.mccme.ru/mod/statements/view3.php?chapterid=111162#1
#include <iostream>
#include <cstring>
int i,k,a[104],b[104],x,n2,n,sum;
char s1[104],s2[104];
using namespace std;
int main() {
cin.getline(s1,100,'\n');
cin.getline(s2,100,'\n');
for (int i=0; i<strlen(s1); ++i)
{
if (isdigit(s1[i]))
{
x=x*10+int(s1[i])-int('0');
}
if ((s1[i]==' ') or (i==strlen(s1)-1))
{
++n;
a[n]=x;
x=0;
for (int j=1; j<=n; j++)
if (a[n]<a[j])
swap(a[n],a[j]);
}
}
n2=0;
for (int i=0; i<strlen(s2); ++i)
{
if (isdigit(s2[i]))
{
x=x*10+int(s2[i])-int('0');
}
if ((s2[i]==' ') or (i==strlen(s2)-1))
{
++n2;
b[n2]=x;
x=0;
for (int j=1; j<=n2; j++)
if (b[n2]>b[j])
swap(b[n2],b[j]);
}
}
sum=0;
for (int i=1; i<=n; i++)
sum=sum+a[i]*b[i];
cout<<sum;
return 0;
}
Лично я думаю, что нужен вот такой код:
#include <vector>
#include <iostream>
#include <numeric>
#include <functional>
#include <algorithm>
using namespace std;
int main(int argc, const char * argv[])
{
unsigned int N;
vector<int> total, dist, cost;
while(cin >> N) total.push_back(N);
auto mid = total.begin()+total.size()/2;
copy(total.begin(),mid,back_inserter(dist));
copy(mid,total.end(),back_inserter(cost));
sort(dist.begin(),dist.end(),greater<int>());
sort(cost.begin(),cost.end());
cout << inner_product(dist.begin(),dist.end(),cost.begin(),0) << endl;
}
Но без точного ТЗ результат всегда ХЗ!
Как спросили - такой и ответ...
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости