Показать все ветки Спрятать все ветки Показать все сообщения Спрятать все сообщения | Wrong answer Test 2 | DrDynamic | 1788. О пользе зонтов | 27 май 2022 18:08 | 1 | | #WA3 need test case | jim | 1788. О пользе зонтов | 15 июн 2021 03:30 | 2 | #include <iostream> #include <algorithm> using namespace std; int main() { int i,j,k,l,ii; int m,n; int girls[101]; int boys[101]; int count = 0; int upsets = 0, girlUpsets = 0, boyUpsets = 0, currentUpsets = 0; int happyGirls = 0; int chooseGirl = 0, chooseBoy = 0; for (i = 0; i <= 100; i ++) { girls[i] = 0; boys[i] = 0; }
cin >> n >> m; //n girls m boys for (i = 1; i <= n; i ++) { cin >> girls[i]; } for (j = 1; j <= m; j ++) { cin >> boys[j]; } count = min (m, n); //计算无配对upset值 for (i = 1; i <= n; i ++) upsets += girls[i]; happyGirls = 0;
for (i = 1; i <= count; i ++)
{ for (j = 1; j <= n; j ++) for ( k = 1; k <= m; k ++) { girlUpsets = 0; boyUpsets = 0; //计算girl upset值 for (l = 1; l <= n; l ++) { if (l != j) { girlUpsets += girls[l]; } } //计算boy upset值 for (l = 1; l <= m; l ++) { if (l != k) boyUpsets += boys[l] * (happyGirls + 1); //cout << "werqe: " << boys[l] << '\t' << boyUpsets << endl; } currentUpsets = girlUpsets + boyUpsets; if (currentUpsets < upsets) { upsets = currentUpsets; chooseGirl = j; chooseBoy = k; } } if (chooseBoy != 0 && chooseGirl != 0) { happyGirls ++;
//删除第chooseGirl个girl for (ii = chooseGirl; ii <= n - 1; ii ++) girls[ii] = girls[ii + 1]; n --;
//删除第chooseBoy个boy for (ii = chooseBoy; ii <= m - 1; ii ++) boys[ii] = boys[ii + 1]; m --; } } cout << upsets << endl; return 0; } | WA 7 | FeDoS (ONPU) | 1788. О пользе зонтов | 30 сен 2019 20:06 | 2 | WA 7 FeDoS (ONPU) 13 ноя 2011 18:37 I can't find mistake, and have WA on test 7. Someone can give some cases? Edited by author 13.11.2011 18:38 Re: WA 7 egardoz[Yaroslavl SU]🔥 30 сен 2019 20:06 try 5 4 1 2 3 4 5 1 2 3 4 asn = 1 | TEST 3 Please | Jumabek Alikhanov | 1788. О пользе зонтов | 4 июн 2018 14:06 | 3 | I have got error so many times. Wonder wht I am missing.. Here is my Python 3.4 Code n,m=map(int,input().split()) g=list(map(int,input().split())) b=list(map(int,input().split())) g.sort() b.sort() minUpset=0 for i in range(0,n): minUpset+=g[i] for s in range(0,min(n,m)): girlsUpset=0 boysUpset=0 for i in range(0,n-s): girlsUpset+=g[i] for j in range(0,m-s): boysUpset+=b[j] minUpset=min(girlsUpset+boysUpset*s,minUpset) print(minUpset)
Found the mistake. Always need to test when use loop. for s in range(0, min(n, m) + 1) | accepted | Mikhail | 1788. О пользе зонтов | 4 июн 2018 14:05 | 1 | //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC target("avx") #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds; using namespace std;
#define re return #define pb push_back #define eb emplace_back #define all(x) (x).begin(), (x).end() #define fi first #define se second #define sqrt(x) sqrt(abs(x)) #define mp make_pair #define pi (3.14159265358979323846264338327950288419716939937510) #define fo(i, n) for(int i = 0; i < n; ++i) #define ro(i, n) for(int i = n - 1; i >= 0; --i) #define unique(v) v.resize(unique(all(v)) - v.begin())
template <class T> T abs (T x) { re x > 0 ? x : -x; } template <class T> T sqr (T x) { re x * x; } template <class T> T gcd (T a, T b) { re a ? gcd (b % a, a) : b; } template <class T> int sgn (T x) { re x > 0 ? 1 : (x < 0 ? -1 : 0); }
typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<string> vs; typedef double D; typedef long double ld; typedef long long ll; typedef pair<ll, ll> pll; typedef vector<ll> vll; typedef unsigned long long ull; typedef tree <pair<int, char>, null_type, less<pair<int, char>>, rb_tree_tag, tree_order_statistics_node_update> _tree; const int maxn = 100; int a[maxn], b[maxn]; int main() { int n, m; cin >> n >> m; fo(i, n) cin >> a[i]; fo(i, m) cin >> b[i]; sort(a, a + n), sort(b, b + m); reverse(a, a + n), reverse(b, b + m); int ans = (int) 1e9, cur; fo(k, min(n, m) + 1) { cur = 0; for (int j = k; j < n; ++j) cur += a[j]; for (int j = k; j < m; ++j) cur += b[j] * k; ans = min (ans, cur); } cout << ans << endl; } | WA#16 Please give me some tests | Bakhtiyorbek Begmatov | 1788. О пользе зонтов | 8 окт 2014 14:35 | 2 | | Challenge | Henry | 1788. О пользе зонтов | 1 дек 2013 22:31 | 1 | Anybody have the code on the C? I thought about it for a long time and i have no ideas how to do this task. I would be very grateful if somebody help me with it. | Please can someone give me test 7 ??? | esekkelle | 1788. О пользе зонтов | 13 ноя 2012 12:17 | 1 | | Test 4 | Hrayr | 1788. О пользе зонтов | 29 авг 2012 20:48 | 5 | I cant find my mistake,but i think my prog is right,it gets Wa on test 4. Who can give me special cases? No, answer 2 is correct :) What??? Maybe 200? In this test each boy accompanies nobody of the girls. | WA 16 | sianqville | 1788. О пользе зонтов | 10 июл 2012 18:21 | 5 | WA 16 sianqville 12 май 2012 19:38 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _1788 { class Program { static void Main(string[] args) { string[] input = Console.ReadLine().Split(' '); int n = int.Parse(input[0]); int m = int.Parse(input[1]); int[] g = new int[n]; int[] b = new int[m]; input = Console.ReadLine().Split(' '); for (int i = 0; i < n; i++) { g[i] = int.Parse(input[i]); } input = Console.ReadLine().Split(' '); for (int i = 0; i < m; i++) { b[i] = int.Parse(input[i]); } int res = int.MaxValue; Array.Sort(g); Array.Sort(b); int ans = 0; if (n>=m) { for (int i = 0; i < n-m; i++) { ans += g[i]; } Console.WriteLine(ans); return; }
for (int i = 0; i <= n; i++) { ans = 0; for (int j = 0; j < m-i; j++) { ans += b[i] * i; } for (int q = 0; q < n-i; q++) { ans += g[q]; } res = Math.Min(res, ans); } Console.WriteLine(res); Console.ReadLine(); } } } Edited by author 15.05.2012 20:33 2 5 100 100 1 1 1 1 1 ans: 6 i passed this test corectly, but still have WA16 2 5 100 100 1 2 3 4 5 ans: 12
just stupid bug, if you will got AC, remove your code from forum )) Edited by author 19.05.2012 02:24 you should change >ans += b[i] * i; to >abs += b[j] * i; because when i=n you skip the cheapest elements from b[m]; Edited by author 11.07.2012 04:03 | I have WA7, can you give me some tests please. | mohamed | 1788. О пользе зонтов | 4 апр 2012 00:59 | 2 | | WA3 | d3m0n1c | 1788. О пользе зонтов | 30 окт 2011 01:47 | 1 | WA3 d3m0n1c 30 окт 2011 01:47 found mistake in sort algo and get AC ^^ Edited by author 30.10.2011 02:12 Edited by author 30.10.2011 02:12 | WA | Nikolay | 1788. О пользе зонтов | 8 окт 2011 23:37 | 3 | WA Nikolay 19 окт 2010 17:06 please help me! I got WA 5 #include <iostream> using namespace std; int main() { int d,m,sd=0,sm=0,i,k=0,l; bool f = true; cin>>d>>m; int *mass1 = new int[d]; int *mass2 = new int[m]; for(i=0;i<d;i++) {cin>>mass1[i]; sd+=mass1[i];} for(i=0;i<m;i++) {cin>>mass2[i]; sm+=mass2[i];} while(f) { f=false; for(i=0;i<d;i++) {if(mass1[i]<mass1[i+1]) swap(mass1[i],mass1[i+1]), f = false;} } f = true; while(f) { f=false; for(i=0;i<m;i++) {if(mass2[i]<mass2[i+1]) swap(mass2[i],mass2[i+1]), f = false;} } l=min(d,m); int *g = new int[l]; for(i=0;i<=l;i++) { if(i!=0) {sm=sm-mass2[i-1],sd=sd-mass1[i-1];} g[i]=i*sm+sd; } for(i=0,k=g[0];i<=l;i++) { if(g[i]<k) k=g[i]; } cout<<k<<endl; } Re: WA IgorKoval(from Pskov) 18 сен 2011 19:33 if there is sorting, then while(f) { f=false; for(i=0;i<d;i++) {if(mass1[i]<mass1[i+1]) swap(mass1[i],mass1[i+1]), f = true/*!!!*/;} } use sort( mass1, mass1+d ); it's simpler:) Re: WA {SESC USU} Zaynullin 8 окт 2011 23:37 you use elements in position number d | Mistake, but.. Where? | [MAI] Zhigireva Alex | 1788. О пользе зонтов | 28 авг 2011 00:29 | 1 | #include <iostream> #include <vector> #include <algorithm> using namespace std; bool cmp(int a, int b){ return a > b; } int main(){ int g, b; cin >> g >> b;
if (g == b) { cout << 0 << endl; return 0; }
vector<int> girls(g), boys(b); for (int i=0;i<g;++i){ cin >> girls[i]; } for (int i=0;i<b;++i){ cin >> boys[i]; } sort(girls.begin(), girls.end(), cmp); sort(boys.begin(), boys.end(), cmp);
for (int i=g-2;i>=0;--i){ girls[i]+=girls[i+1]; } for (int i=b-2;i>=0;--i){ boys[i]+=boys[i+1]; }
vector<int> v(min(g, b)); for (int i=0;i<min(g, b);++i){ v[i] = boys[i]*i + girls[i]; } int min = v[0]; for (int i=1;i<v.size();++i){ if (min > v[i]) min = v[i]; } cout << min << endl; return 0; } I don't know which tests fail my code( and why WA1? | why 19? | void | 1788. О пользе зонтов | 4 авг 2011 22:43 | 5 | how we get 19 in example? don't understand how got odd number. my answer is 20. i also can't catch it.Explain it pls,if it is possible. And I also can't understand the answer 19(( All right!!! one boy take one girl and ans=8*1+6*1+4*1+1=19 | WA#6 doesn't matter if you're black or white? | Micheal Jackson | 1788. О пользе зонтов | 28 окт 2010 14:53 | 1 | | Da io nu stiu cum se face | Micheal Jackson | 1788. О пользе зонтов | 28 окт 2010 14:49 | 5 | Am nevoie e ajutor, va rog io \\warn Edited by author 28.10.2010 14:45 da mah, io is cantaretz, si acuma tre sa fac probleme de pe timus. dami si mie te rog io fain, raspunsu sau un indiciu Ce warn o luat fratzica =)) |
|
|