干吴凯 • 2年前
using namespace std;
struct baowu {
int w, v;
double price;
} a[10001];
bool cmp(baowu x, baowu y) {
return x.price > y.price;
}
int main() {
int n, c;
double s = 0;
cin >> n >> c;
for (int i = 1; i <= n; i++) {
cin >> a[i].w >> a[i].v;
a[i].price = 1.0 * a[i].v / a[i].w;
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++) {
if (c - a[i].w >= 0) {
s += a[i].v;
c -= a[i].w;
} else {
s = s + c * a[i].price;
c = 0;
break;
}
}
cout.precision(1);
cout<<fixed<<s;
return 0;
}``
评论:
using namespace std; int a[3005],b[3005]; int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
if(n%2)n--;
for(int i=n/2;i>=1;i--){
memset(b,0,sizeof(b));
for(int j=1;j<=2*i;j++)
b[j]=a[j];
sort(b+1,b+1+i);
sort(b+i+1,b+1+2*i);
int l=1,r=i+1,cnt=0;
while(l<=i&&r<=2*i){
if(b[l]<b[r]){
cnt++;
l++,r++;
}else{
r++;
}
}
if(cnt==i){
cout<<i;
return 0;
}
}
cout<<'0';
return 0;
}
using namespace std; int m; int c,n,s=0; int a[100000]; int main(){
cin>>m;
for(int i=1;i<=m;i++){
s=0;
for(int j=1;j<=100000;j++){
a[j]=0;
}
cin>>c>>n;
for(int j=1;j<=n;j++){
cin>>a[j];
}
sort(a,a+n);
for(int j=1;j<=n;j++){
if(c-a[j]>=0){
s++;
c-=a[j];
}
else{
break;
}
}
cout<<s<<endl;
}
}
using namespace std; stack st; int main() {
int n;
cin>>n;
while(n!=0)
{
st.push(n%2);
n=n/2;
}
while(!st.empty())
{
cout<<st.top();
st.pop();
}
return 0;
}
using namespace std; int main() {
queue<int> boy,girl;
int b,g,k;
cin>>b>>g>>k;
for(int i=1;i<=b;i++)
{
boy.push(i);
}
for(int i=1;i<=g;i++)
{
girl.push(i);
}
for(int i=1;i<=k;i++)
{
int x=boy.front();
boy.pop();boy.push(x);
int y=girl.front();
girl.pop();girl.push(y);
cout<<x<<" "<<y<<"\n";
}
return 0;
}
using namespace std;
int main() {
string p;
while(cin>>p)
{
stack<char> sb;
int ans=0;
for(int i=0;i<p.length();i++)
{
if(p[i]=='p') sb.push(1);
else{
if(sb.empty()) ans++;
else sb.pop();
}
}
cout<<ans<<endl;
}
return 0;
}
using namespace std; int main() {
queue<int> boy,girl;
int b,g,k;
cin>>b>>g>>k;
for(int i=1;i<=b;i++)
{
boy.push(i);
}
for(int i=1;i<=g;i++)
{
girl.push(i);
}
for(int i=1;i<=k;i++)
{
int x=boy.front();
boy.pop();boy.push(x);
int y=girl.front();
girl.pop();girl.push(y);
cout<<x<<" "<<y<<"\n";
}
return 0;
}