Submission #1190809

#TimeUsernameProblemLanguageResultExecution timeMemory
1190809vyaductMutating DNA (IOI21_dna)C++20
35 / 100
20 ms4516 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; const long double EPS = 1e-9; void file(){ freopen("input.txt.txt","r",stdin); freopen("output.txt.txt","w",stdout); } #define V vector #define pb push_back #define P pair #define S second #define F first #define all(v) v.begin(),v.end() int pref[(int)1e5+1][2]; int pref2[(int)1e5+1][2]; int dif[(int)1e5+1]; void init(string a,string b){ a='.'+a; b='.'+b; pref[0][0]=0; pref[0][1]=0; pref2[0][0]=0; pref2[0][1]=0; dif[0]=0; int n=a.length(); for(int i=1;i<=n;i++){ pref[i][0]=pref[i-1][0]; pref[i][1]=pref[i-1][1]; pref2[i][0]=pref2[i-1][0]; pref2[i][1]=pref2[i-1][1]; dif[i]=dif[i-1]; if(a[i]=='A'){ pref[i][0]++; } else{ pref[i][1]++; } if(b[i]=='A'){ pref2[i][0]++; } else{ pref2[i][1]++; } if(a[i]!=b[i]){ dif[i]++; } } } int get_distance(int x, int y){ swap(x,y); x++,y++; if(pref[x][0]-pref[y-1][0]!=pref2[x][0]-pref2[y-1][0])return -1; if(pref[x][1]-pref[y-1][1]!=pref2[x][1]-pref2[y-1][1])return -1; return (dif[x]-dif[y-1])/2; }

Compilation message (stderr)

dna.cpp: In function 'void file()':
dna.cpp:6:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    6 |     freopen("input.txt.txt","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
dna.cpp:7:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |     freopen("output.txt.txt","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...