diff options
Diffstat (limited to 'sem_5/codingbattle/ex6')
| -rw-r--r-- | sem_5/codingbattle/ex6/ex6 | bin | 0 -> 48192 bytes | |||
| -rw-r--r-- | sem_5/codingbattle/ex6/ex6.cpp | 56 |
2 files changed, 56 insertions, 0 deletions
diff --git a/sem_5/codingbattle/ex6/ex6 b/sem_5/codingbattle/ex6/ex6 Binary files differnew file mode 100644 index 0000000..ab926f3 --- /dev/null +++ b/sem_5/codingbattle/ex6/ex6 diff --git a/sem_5/codingbattle/ex6/ex6.cpp b/sem_5/codingbattle/ex6/ex6.cpp new file mode 100644 index 0000000..48d4c8b --- /dev/null +++ b/sem_5/codingbattle/ex6/ex6.cpp @@ -0,0 +1,56 @@ +#include <iostream>
+#include <string>
+#include<vector>
+#include<algorithm>
+using namespace std;
+
+void printtab(int n, int tab[]){
+ for (int i = 0; i < n; i ++){
+ cout <<tab[i]<<";";
+ }
+ cout<<endl;
+}
+int main (int argc, char ** argv){
+ int N;
+ cin >> N;
+ int P;
+ cin >> P;
+ vector<int> poid(N);
+ for (int i = 0 ; i < N; i ++){
+ cin>>poid[i];
+ }
+ int rivalite[N];
+ for (int i =0; i < N; i ++){
+ rivalite[i]=0;
+ }
+ int tmp;
+ for (int i = 0; i < P; i ++){
+ cin >> tmp;
+ cin >>rivalite[tmp];
+ rivalite[rivalite[tmp]]=tmp;
+ }
+ int poida=0;
+ int poidb=0;
+ int equa[N];
+ int equb[N];
+ for (int i =0; i < N; i ++){
+ equa[i]=0;
+ equb[i]=0;
+ }
+ for (int i=0 ; i < N; i ++){
+ if (( equa[rivalite[i]]!=0 &&equb[rivalite[i]]==0)){
+ poidb+=poid[i];
+ equb[i]=1;
+ }
+ else if ( equb[rivalite[i]]==0 && equa[rivalite[i]]==0) {
+ poida+=poid[i];
+ equa[i]=1;
+ }
+ }
+ printtab(N, equa);
+ printtab(N, equb);
+ cout<<poida<< " "<< poidb<<endl;
+ cout<<abs(poida-poidb)<<endl;
+
+return 1;
+}
|
