| Task: | Pinot |
| Sender: | tsiki2 |
| Submission time: | 2020-09-06 17:40:51 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 23 |
| #2 | ACCEPTED | 77 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2 | details |
| #2 | ACCEPTED | 0.01 s | 2 | details |
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 |
