CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Pinot
Sender:tsiki2
Submission time:2020-09-06 17:40:51 +0300
Language:C++ (C++11)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED23
#2ACCEPTED77
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.01 s2details

Code

#include <stdio.h> // include before iostream for faster scanf
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <unordered_map>
#include <algorithm>
#include <utility>
#include <set>
#include <unordered_set>
#include <cmath>
#include <math.h>
#include <queue>
#include <stdlib.h>
#include <string.h>
#include <sstream>
#include <tuple>
#include <utility>
#include <iomanip>
#include <iterator>
using namespace std;
typedef long long LL;
#define printv(printVec) for (auto printVecIter : (printVec)) cout << printVecIter << " "; cout << endl;
// g++ -Wall -Wshadow -std=c++11 a.cpp && ./a.out
int solve(int a, int b) {
int ans = 0;
while (a > 0 && b > 0) {
if (a > b) {
int diff = a - b;
int asd = diff / b + ((diff % b) == 0 ? 0 : 1);
a -= asd*b;
ans += asd;
} else if (b > a) {
int diff = b - a;
int asd = diff / a + ((diff % a) == 0 ? 0 : 1);
b -= asd*a;
ans += asd;
} else {
a = 0;
ans++;
}
}
return ans;
}
int main() {
std::ios::sync_with_stdio(false);cin.tie(0);
int t; cin>>t;
vector<int> ans;
while(t--) {
int a,b; cin>>a>>b;
ans.push_back(solve(a,b));
}
for (int i : ans) {
cout << i << endl;
}
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
1000
5 90
19 86
66 28
10 47
...

correct output
18
15
9
10
16
...

user output
18
15
9
10
16
...
Truncated

Test 2

Group: 2

Verdict: ACCEPTED

input
1000
1 936283842
56227247 73458046
364717918 449812461
158413382 363667122
...

correct output
936283842
167
116
59
158
...

user output
936283842
167
116
59
158
...
Truncated