| 15882 | 2025-03-07 12:46:54 | HolloG | Plagiarism Detection | cpp17 | Wrong answer 0/100 | 185ms | 2724 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
struct note {
int d;
int p;
//auto operator == (note x, note y){return (x.d == y.d) && (x.p == y.p);}
};
vector<note> g, a;
bool trans (int x, int y){
int dt; bool dg; bool r = true;
if (g[x].d > a[x].d) {dt = g[x].d/a[x].d; dg = true;}
else {dt = a[x].d/g[x].d; dg = false;}
int pt = g[x].p - a[x].p;
//cout << pt << " " << dt << endl;
for (int i = x; i <= y; i++){
if (g[i].p - a[i].p != pt) r = false;
if (dt == 2)
{
if (dg){
if (a[i].d * dt != g[i].d) r = false;
}
else {
if (g[i].d * dt != a[i].d) r = false;
}
}
}
if (r == true) return r;
r = true;
if (g[x].d > a[y].d) {dt = g[x].d/a[y].d; dg = true;}
else {dt = a[y].d/g[x].d; dg = false;}
pt = g[x].p - a[y].p;
//cout << pt << " " << dt << " " << dg << endl;
for (int i = x; i <= y; i++){
if (g[i].p - a[y-i+1].p != pt) r = false;
if (dt == 2)
{
if (dg){
if (a[y-i+1].d * dt != g[i].d) r = false;
}
else {
if (g[i].d * dt != a[y-i+1].d) r = false;
}
}
}
return r;
}
int main() {
int n, v; cin >> n >> v;
for (int i = 0; i < n; i++){
int d, p; cin >> d >> p;
g.push_back({d, p});
}
for (int i = 0; i < n; i++){
int d, p; cin >> d >> p;
a.push_back({d, p});
}
int y = -1;
int x = -1;
for (int i = 0; i < n; i++){
if (g[i].p != a[i].p || g[i].d != a[i].d){
x = i;
break;
};
}
if (x == -1){
cout << "SAME";
return 0;
}
for (int i = n-1; i >= 0; i--){
if (g[i].p != a[i].p || g[i].d != a[i].d){
y = i;
break;
};
}
//cout << x << " " << y << endl;
if (trans(x, y)){
cout << "TRANSFORMED " << y-x+1;
}
else {
cout << "ORIGINAL " << y-x+1;
}
return 0;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 508 KiB | ||||
| 3 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 0/20 | ||||||
| 4 | Wrong answer | 1ms | 316 KiB | ||||
| 5 | Accepted | 2ms | 316 KiB | ||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Wrong answer | 1ms | 316 KiB | ||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| 9 | Accepted | 1ms | 408 KiB | ||||
| 10 | Wrong answer | 1ms | 500 KiB | ||||
| 11 | Wrong answer | 1ms | 316 KiB | ||||
| subtask3 | 0/15 | ||||||
| 12 | Accepted | 2ms | 500 KiB | ||||
| 13 | Wrong answer | 1ms | 316 KiB | ||||
| 14 | Accepted | 2ms | 316 KiB | ||||
| 15 | Accepted | 2ms | 316 KiB | ||||
| 16 | Accepted | 2ms | 316 KiB | ||||
| 17 | Accepted | 2ms | 316 KiB | ||||
| 18 | Accepted | 2ms | 316 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 0/25 | ||||||
| 20 | Accepted | 10ms | 428 KiB | ||||
| 21 | Accepted | 8ms | 564 KiB | ||||
| 22 | Accepted | 10ms | 504 KiB | ||||
| 23 | Accepted | 6ms | 412 KiB | ||||
| 24 | Wrong answer | 8ms | 348 KiB | ||||
| 25 | Wrong answer | 4ms | 316 KiB | ||||
| 26 | Wrong answer | 1ms | 316 KiB | ||||
| 27 | Wrong answer | 6ms | 340 KiB | ||||
| subtask5 | 0/10 | ||||||
| 28 | Accepted | 105ms | 2508 KiB | ||||
| 29 | Accepted | 57ms | 1492 KiB | ||||
| 30 | Accepted | 115ms | 2468 KiB | ||||
| 31 | Accepted | 104ms | 2612 KiB | ||||
| 32 | Wrong answer | 1ms | 316 KiB | ||||
| 33 | Accepted | 115ms | 2508 KiB | ||||
| 34 | Accepted | 86ms | 2312 KiB | ||||
| 35 | Accepted | 93ms | 2472 KiB | ||||
| subtask6 | 0/30 | ||||||
| 36 | Wrong answer | 114ms | 1452 KiB | ||||
| 37 | Accepted | 52ms | 900 KiB | ||||
| 38 | Accepted | 156ms | 2468 KiB | ||||
| 39 | Accepted | 144ms | 2468 KiB | ||||
| 40 | Accepted | 185ms | 2724 KiB | ||||
| 41 | Accepted | 81ms | 1328 KiB | ||||
| 42 | Wrong answer | 1ms | 316 KiB | ||||
| 43 | Accepted | 172ms | 2616 KiB | ||||