Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
struct Person {
int index; // Vị trí của người trong hàng
int time; // Thời gian mua vé của người
};
bool compareByTime(const Person& a, const Person& b) {
return a.time < b.time;
}
int main() {
// Đọc dữ liệu từ tệp TICKET.INP
std::ifstream inputFile("TICKET.INP");
if (!inputFile.is_open()) {
std::cerr << "Khong the mo tep TICKET.INP" << std::endl;
return 1;
}
int n;
inputFile >> n;
std::vector<Person> people;
for (int i = 1; i <= n; ++i) {
Person person;
person.index = i;
inputFile >> person.time;
people.push_back(person);
}
// Đóng tệp TICKET.INP
inputFile.close();
// Sắp xếp danh sách người theo thời gian mua vé tăng dần
std::sort(people.begin(), people.end(), compareByTime);
// Tìm người mua vé cặp để tổng thời gian bán vé là ít nhất
int totalTime = 0;
int minTotalTime = INT_MAX;
int bestPairIndex = -1;
for (int i = 0; i < n - 1; ++i) {
totalTime += people[i].time;
if (totalTime + people[i + 1].time < minTotalTime) {
minTotalTime = totalTime + people[i + 1].time;
bestPairIndex = i;
}
}
// Ghi kết quả ra màn hình
std::cout << "Nguyen vien ban ve can ban ve cap cho nguoi thu: " << people[bestPairIndex + 1].index << std::endl;
return 0;
}
program Doi_giay;
var n,i,j,d:longint;
a,b:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for j:=1 to n do
read(b[j]);
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then begin a[i]:=0;
b[j]:=0; end;
for i:=1 to n do
if a[i]<>0 then d:=d+1;
write(d);
end.
Mình có bài này ở gmail bạn gửi địa chỉ gmail của bạn để mình chuyển đáp án nhé
Bài 1:
Input: số nguyên N và dãy a1,...,an
output: số lượng số dương trong dãy.
Ý tưởng:
khởi gán dem=0
lần lượt chia các a[i] (i:1->N) cho 2
nếu ai chia hết cho 2 dư 0 thì dem=dem+1
diễn tả thuật toán
liệt kê:
b1: nhập số nguyên dương N và dãy a1, a2,..,an
b2: i<-1 , dem<-0
b3: i>N thì đưa ra biến dem rồi kthúc
b4: ai chia hết cho 2 thì dem<-dem+1
b5: i<-i+1, quay lại bc 3
Program bai1;
uses crt;
var a: array [1..100] of integer;
n,i,dem: integer;
begin
clrscr;
write('nhap so n ='); readln(n);
for i:= 1 to n do
begin
write('nhap a[',i,'] ='); readln(a[i]);
end;
dem:=0;
for i:= 1 to n do
if a[i] > 0 then dem:=dem+1;
write('co ',dem,' so duong trong day ');
readln;
end.
var i,n,d:word;
t,b,kt:array[1..10] of word;
procedure nhap;
var f:text;
begin
assign(f,'dulieu.inp');
reset(f);
readln(f,n);
for i:=1 to n do read(f,t[i]);
close(f);
fillchar(b,sizeof(kt),0);
end;
procedure tailap;
var i,j,d:integer;
begin
for i:=1 to n do
begin
d:=0;
for j:=1 to n do
begin
if b[j]=0 then d:=d+1;
if d=t[i]+1 then break;
end;
b[j]:=i;
end;
end;
BEGIN
nhap;
tailap;
for i:=1 to n do write(b[i],' ');
readln
END.